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 : 내 볼의 물리적 측면을 만들 Heres는
let ballCategory : UInt32 = 0x1 << 1
let obstacleCategory : UInt32 = 0x1 << 2
: 나는 범주를 정의
을 Heres
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