1
我希望爲我的遊戲添加通電,但是當我的精靈擊中加電精靈時,它會將他拋出課程,因爲遊戲已經註冊了一個碰撞,我猜想物理學會發揮作用,當我點擊屏幕我的精靈在空中跳躍,擊中加電並停止移動並再次跌落。讓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