當我調用我的didbegincontact
函數時,此函數應該通過增加寬度來增加我的蛇的大小。但是當聯繫人發出聯繫時,它會調用該功能一次,然後再也不會再調用它。我不知道爲什麼,當接觸時不保留通過增量在swift中調用函數時出現問題
func increaseSnakeSize(increment: CGFloat){
snake.snake1.size = CGSizeMake(snake.size.width + increment, snake.size.height + increment)
snake.snake2.size = CGSizeMake(snake.size.width + increment, snake.size.height + increment)
snake.snake3.size = CGSizeMake(snake.size.width + increment, snake.size.height + increment)
print(snake.snake1.size)
}
// didBeginContact
if (firstBody.categoryBitMask & physicsCategory.snakeCategory == 0b1) && (secondBody.categoryBitMask & physicsCategory.foodCategory == 0b10){
score++
scoreLabel.text = "\(score)"
food.removeFromParent()
addFood()
increaseSnakeSize(2)
}
你可以更清楚地說明你的問題。 'increaseSnakeSize'只需調用一個,大小是否增加?下一次它不會打電話? –
除非您對第一個和第二個物體進行了排序(按categoryBitMask),否則您需要檢查firstBody是否是食物,secondBody是否是蛇。 – 0x141E
更改精靈的大小不會更改其物理主體的大小。每當蛇長大時,您都需要創建一個新的更大的物理體。 – 0x141E