У меня есть анимация, запускаемая с SKAction.repeatForever
циклом анимации, который запускает анимацию снова и снова на неопределенное время.
node.run(SKAction.repeatForever(
SKAction.animate(with: animationFrames,
timePerFrame: timePerFrame,
resize: true,
restore: true)))
У меня есть анимация, запускаемая пользователем (с прикосновением), котораяЯ хочу запустить после , когда текущий анимированный цикл завершается.Как я могу поймать, когда текущий цикл SKAction.animate
завершается, а затем останавливается, удаляет и заменяет анимацию второй?
|--Loop1--|--Loop2--|--Loop3--|--...
| user trigger here
| wait until Loop2 finishes and then replace the animation
Псевдокод того, какую функциональность я ищу:
... somewhere else ... {
animatedNode.run(SKAction.repeatForever(SKAction.animate(...)))
}
func onTouch() {
foreverRunningAnimation.waitUntilLoopFinishes() {
animatedNode.removeAllActions()
animatedNode.run(SKAction.repeatForever(SKAction.animate(< second animation>)))
}
}