내 게임에 파워 업을 추가하고 싶습니다. 스프라이트가 파워 업 스프라이트에 부딪 힐 때 게임에서 충돌을 등록했기 때문에 스프레드가 물리 쳤습니다. 내 스프라이트가 공중에서 점프하는 화면을 탭하면 파워 업에 부딪히며 올라가고 멈추고 다시 떨어집니다.SKSprites가 충돌을 일으키지 만 서로 충돌하지 않도록하십시오.
점프하기 위해 스프라이트가 필요합니다. 파워 업 스프라이트를 수집하고 스코어가 올라가고 (스코어 업 코드가 완료됩니다) 2 스프라이트를 만드는 방법을 알아낼 수 없습니다. 충돌을 등록하지 마십시오.
//Create the PowerUp Coin to add score
func createCoin() {
coinPlus5 = SKSpriteNode(imageNamed: "coin1")
coinPlus5.name = "coinPlus5"
coinPlus5.position.x = self.frame.size.width*2.6
coinPlus5.position.y = CGFloat.randomBetweenNumbers(firstNum: -(self.frame.size.height/2.8), secondNum: (self.frame.size.height/2.4))
coinPlus5.zPosition = 11
coinPlus5.size = CGSize(width: 50, height: 50)
hitPowerup = false
// Add Physics Bodys
coinPlus5.physicsBody = SKPhysicsBody(texture: coinPlus5.texture!, size: CGSize(width: coinPlus5.size.width, height: coinPlus5.size.height))
//enemyBird1.physicsBody = SKPhysicsBody(circleOfRadius: self.size.height/13)
coinPlus5.physicsBody?.allowsRotation = false
coinPlus5.physicsBody?.affectedByGravity = false
coinPlus5.physicsBody?.isDynamic = false
// Add Collision Bitmasks
coinPlus5.physicsBody?.categoryBitMask = ColliderType.Pipes
는 그리고 캐릭터 스프라이트 코드는 다음과 같습니다
는func initialise() {
self.name = "Bird"
self.zPosition = 3
self.size = CGSize(width: 130, height: 110)
self.anchorPoint = CGPoint(x: 0.5, y: 0.5)
self.physicsBody = SKPhysicsBody(texture: self.texture!,
size: CGSize(width: self.size.width,
height: self.size.height))
// Add Physics Bodys
self.physicsBody?.allowsRotation = false
self.physicsBody?.affectedByGravity = false
self.physicsBody?.mass = CGFloat(-100)
// Add Collision Bitmasks
self.physicsBody?.categoryBitMask = ColliderType.Bird
self.physicsBody?.collisionBitMask = ColliderType.Ground | ColliderType.Pipes
self.physicsBody?.contactTestBitMask = ColliderType.Ground | ColliderType.Pipes | ColliderType.Score
}
완벽하게 작동했습니다. – LukeTerzich
좋아요! 게임에 행운을 빈다. – nathan