Swift SKAction序列未运行

时间:2016-04-11 21:50:47

标签: swift sprite-kit

这有什么不对吗?

    self.runAction(
        SKAction.sequence([
            SKAction.runBlock({
                print("Step 1")
            }),
            SKAction.waitForDuration( 2 ),
            SKAction.runBlock({
                print("step 2")
            }),
            SKAction.waitForDuration( 2 ),
            SKAction.runBlock({
                print("step 3")
            }),
        ])
    )

步骤1打印到控制台,但第2步和第3步没有 - 似乎第一个动作运行但其他所有动作都没有。

感谢。

这与我的班级有什么关系吗?

class Arrow: Entity{}
class Entity: SKSpriteNode

我正在调用Arrow类中函数的代码块。

1 个答案:

答案 0 :(得分:2)

来自文档:

  

SKAction对象是由节点中的节点执行的操作   场景

表示如果节点未添加到场景中,则无法执行操作。 所以目前正在发生的事情是,在你的动作序列完成之前,你的箭头(显然)会以某种方式被移除。同时检查您是否在某个时刻意外删除了箭头节点上的所有操作(使用activator run方法)。这也可以阻止行动执行。