Я создаю игру, в которой игрок использует бонусы.Всякий раз, когда игрок выбирает включение питания, эта функция запускается.Он изменяет образ игрока на изображение игрока, использующего powerup, и изменяет физику столкновений, так что игрок теперь неуязвим для врагов.
Он делает это всякий раз, когда переменная powerActivation равна 1, однако какВы можете видеть, что он возвращается к 0. Мне нужно отложить на 5-10 секунд, а затем перейти к 0. Это позволит пользователю использовать powerup в течение нескольких секунд, прежде чем он исчезнет.
func superAbility(){
powerActivated = 1
if powerActivated == 1 {
player.texture = SKTexture(imageNamed: "heroWithPower")
player.physicsBody!.categoryBitMask = PhysicsCategories.PowerUp
player.physicsBody!.collisionBitMask = PhysicsCategories.None
player.physicsBody!.contactTestBitMask = PhysicsCategories.Enemy
// delay should be here
powerActivated = 0
}
else {
player.texture = SKTexture(imageNamed: "hero")
player.physicsBody!.categoryBitMask = PhysicsCategories.Player
player.physicsBody!.collisionBitMask = PhysicsCategories.None
player.physicsBody!.contactTestBitMask = PhysicsCategories.Enemy
}