如何等待直到SKAction.repeatForever完成SpriteKit中的动画序列?

时间:2018-09-27 16:52:48

标签: ios sprite-kit

我有一个运行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>)))
    }
}

0 个答案:

没有答案