我不能等待SKAction
组,因为完成处理程序立即执行。下面是简单的例子:如何等待所有群组操作?
let a1 = SKAction.runAction(SKAction.fadeAlphaTo(0.5, duration: duration), onChildWithName: child1.name!)
let a2 = SKAction.runAction(SKAction.fadeAlphaTo(1, duration: duration), onChildWithName: child2.name!)
runAction(SKAction.group([a1, a2]), completion: {() -> Void in
// do something
})
节点child1
和child2
是现场的孩子。当我在iPhone 5s(iOS 8.4)模拟器上运行应用程序时,我发现完成模块不会等待组操作完成并立即启动。
所以我的两个问题:
是IT方面的错误?如果否,在
SKAction
文档中我可以找到这种行为的解释。如何做到这一点?我知道我可以使用计数器,并开始每个动作
a1
和a2
与完成块,只是检查计数器变为0时,但它看起来像一个样板代码为我。
你有一个警告说'SKScene:动画SKScene的位置没有任何效果.'? – WangYudong
@王玉东不,没有任何警告,所有动画都能正常工作,而且完全像我需要的一样。 –
很奇怪,一小时前我可以重现你的问题,但现在一切正常。看到我的示例项目[这里](https://www.dropbox.com/s/hqsnyh0czha0ymh/GroupAction.zip?dl=0)。 – WangYudong