如何让所有长时间的skactions同时工作而不是一个接一个

how to make all long-duration skactions work at the same time not one after one

我正在研究 sprite kit,现在我想做的是我正在使用 for 循环并检查数组中有多少个 sknode,并使数组中的每个 sknode 都执行一个 skaction,这仍然是一个非常很长一段时间——大概一个小时。但是,每次我这样做时,它只会对第一个 sknode 执行第一个 skaction,而不是其余的 sknode。我想是因为它在等待第一个完成然后在for循环中跳转到第二个。那么如何才能让他们同时执行动作呢?

这是一个例子:

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")
}

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

来删除该操作