Эта функция должна увеличить размер моей змеи по ширине приращения при вызове в моей функции 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)
}
вы можете объяснить вашу проблему более четко. 'enlargeSnakeSize' просто вызывает один и размер увеличивается или нет? В следующий раз он не позвонит? –
Если вы не отсортировали первое и второе тела (по категорииBitMask), вам нужно проверить, является ли 'firstBody' продуктом, а' secondBody' - змеей. – 0x141E
Изменение размера спрайта не изменяет размер физического тела. Вам нужно будет создать новое, более крупное физическое тело каждый раз, когда змея будет расти. – 0x141E