使用 SKAction 的完成触发 while 循环的结束

Triggering the end of a while loop using the completion of SKAction

我正在尝试使用 "while loop",而我的 SKSpritenode 正在设置动画,我想触发 SKAction 的结束以触发循环的结束。这是我的尝试

while (orgNode.hasActions) {
   //render the background
}

我想做的是创建一个自下而上的扫描效果,改变 originNode 位置下方的精灵节点纹理,以便用户看到节点的扫描运动改变背景颜色。

如果你想每帧更新节点,你可以覆盖 SKSceneupdatedidEvaluateActions 函数。 didEvaluateActions 函数在所有 SKActions 被评估后在每一帧中被调用。 update 函数在评估所有操作之前被调用。

override func didEvaluateActions() {
    if node.hasActions()
    {
        println("Running Action")
    }
}

下图显示了在每一帧中调用了哪些函数以及调用顺序。


更多信息:https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Introduction/Introduction.html