如何使所有长时间的滑行同时工作,而不是一个接一个

时间:2015-01-26 23:02:57

标签: ios sprite-kit skaction sknode

我正在研究精灵工具包,现在我想做的是我正在使用for循环并检查数组中有多少个sknode并使数组中的每个sknode都做了一个很长时间的skaction - 大概一个小时。但是,每次我执行此操作时,它只会对第一个sknode执行第一次skaction,而不执行其余的sk​​node。我认为这是因为它正在等待第一个完成,然后跳转到for循环中的第二个。那么我该如何让他们同时执行动作呢?

1 个答案:

答案 0 :(得分:0)

以下是一个例子:

for node in nodes {
    let action1 = SKAction()
    let action2 = SKAction()
    let action3 = SKAction()
    let group = SKAction.group([action1,action2,action3])

    node.removeActionForKey("group")
    node.runAction(group, withKey: "group")
}

您应该使用group: SKAction方法同时运行操作,然后通过调用runAction:方法将它们添加到执行队列中。请注意,如果您有一些已在运行的操作,则执行将在上一个操作完成之前启动,因此您必须通过调用removeActionForKey:方法

来删除该操作