0
Я занимаюсь стрельбой, проблема в том, что, когда пуля сталкивается с врагом и вызывает оценку обновления функции, они называют функцию примерно 10 раз, heres my didBeginContact:столкновение обнаружено более одного раза
func didBeginContact(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 == CollisionCategories.Bullet) &&
(secondBody.categoryBitMask == CollisionCategories.Enemy) {
println("Hit")
firstBody.node!.removeFromParent()
secondBody.node!.removeFromParent()
//change score
updateScore(1)
}
}