Как узнать, когда SKAction.repeat (action, count) закончен - PullRequest
0 голосов
/ 15 апреля 2019

Я делаю видеоигры со Swift & SpriteKit. Я пытаюсь сделать систему уровней моей игры. Каждый уровень имеет свои собственные спецификации (но сейчас их нет в коде).

Однако мне бы хотелось, чтобы, когда мой SKaction.repeat был готов, чтобы перейти к другой сцене (например, сцене «Уровень завершен»).

Ты знаешь, как я могу это сделать?

Вот мой код:

func parametersLevel(){
    let spawn = SKAction.run(asteroids)
    let waitSpawn = SKAction.wait(forDuration: 0.8)
    let sequence = SKAction.sequence([waitSpawn,spawn])
    let spawnCount = SKAction.repeat(sequence, count: 750)
    self.run(spawnCount)
}

Спасибо за помощь.

Ответы [ 2 ]

1 голос
/ 15 апреля 2019

Если вам нужен ключ с вашим действием, вы также можете сделать:

func parametersLevel(){
    let spawn = SKAction.run(asteroids)
    let waitSpawn = SKAction.wait(forDuration: 0.8)
    let sequence1 = SKAction.sequence([waitSpawn,spawn])
    let spawnCount = SKAction.repeat(sequence, count: 750)
    let endAction = SKAction.run{} //whatever you need your ending to be
    let sequence2 = SKAction.sequence([spawnCount ,endAction])
    self.run(sequence2,withKey:”spawn” )
}
1 голос
/ 15 апреля 2019

С Выполнить (_: завершение:) вместо self.run(spawnCount) Попробуйте:

self.run(spawnCount, completion: {() -> Void in
   println("completed")
})
...