2
私が実行している問題は、連絡先を検出するために作成したコードが機能していないことです。私はボールのカテゴリが障害カテゴリに触れたときに動作するようにしたかった。私のコードで何が間違っていますか?どうもありがとう、どんな助けもありがとう!私のコードが自分のSKPhysicsBodyとの接触を検出しないのはなぜですか?
:私は障害物の物理学の側面を作成leftBall.physicsBody = SKPhysicsBody(rectangleOf: leftBall.size)
leftBall.physicsBody?.categoryBitMask = ballCategory
leftBall.physicsBody?.contactTestBitMask = obstacleCategory
leftBall.physicsBody?.affectedByGravity = false
leftBall.physicsBody?.isDynamic = false
leftBall.physicsBody?.collisionBitMask = 0
HERESに:私は私のボールの物理学の側面を作成する相続人
let ballCategory : UInt32 = 0x1 << 1
let obstacleCategory : UInt32 = 0x1 << 2
:私はカテゴリを定義
相続人
obstacleSquare.physicsBody = SKPhysicsBody(rectangleOf: obstacleSquare.size)
obstacleSquare.physicsBody?.categoryBitMask = obstacleCategory
obstacleSquare.physicsBody?.contactTestBitMask = ballCategory
obstacleSquare.physicsBody?.affectedByGravity = false
obstacleSquare.physicsBody?.isDynamic = false
obstacleSquare.physicsBody?.collisionBitMask = 1
そして、私の衝突検出機能は:
func didBegin(_ contact: SKPhysicsContact) {
print("CONTACT")
if contact.bodyA.categoryBitMask == obstacleCategory {
print("CONTACT")
gameOver()
}
if contact.bodyB.categoryBitMask == obstacleCategory {
print("CONTACT")
gameOver()
}
if contact.bodyA.categoryBitMask == ballCategory {
print("CONTACT")
gameOver()
}
if contact.bodyB.categoryBitMask == ballCategory {
print("CONTACT")
gameOver()
}
}
ありがとうございました – Justin