2017-01-21 14 views
1

私は弾丸と敵の接触をしましたが、何らかの理由で主人公が敵と接触しません。敵が近づくと、プレイヤーは衝突を検出しません

func didBegin(_ contact: SKPhysicsContact) { 
    var firstBody:SKPhysicsBody 
    var secondBody:SKPhysicsBody 

    if contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask { 
     firstBody = contact.bodyA 
     secondBody = contact.bodyB 
    }else{ 
     firstBody = contact.bodyB 
     secondBody = contact.bodyA 
    } 

    if (firstBody.categoryBitMask & Bullet) != 0 && (secondBody.categoryBitMask & Enemy) != 0{ 

     bulletDidCollideWithEnemy(bulletNode: firstBody.node as! SKSpriteNode, Zombie: secondBody.node as! SKSpriteNode) 

    }else{ 
     firstBody = contact.bodyB 
     secondBody = contact.bodyA 
    } 
    if (firstBody.categoryBitMask & Player) != 0 && (secondBody.categoryBitMask & Enemy) != 0{ 

     playerCollideWithEnemy(playerNode: firstBody.node as! SKSpriteNode, Zombie: secondBody.node as! SKSpriteNode) 

     } 

} 
+0

このメソッドにブレークポイントを設定し、接触が発生したときに何が間違っているかを確認します。 – Whirlwind

+0

はプレーヤーカテゴリBitMask <敵カテゴリBitMaskですか? – Knight0fDragon

答えて

0

この同じ問題を抱えている人は、ここで問題を解決してください。私は、 "敵"が他のオブジェクトに見えるようにしなければなりませんでした。巨大な重要性!これが誰かを助けることを願っています。

Enemy.physicsBody?.affectedByGravity = false 
Enemy.physicsBody?.isDynamic = true 
関連する問題