在我的代码中,我有一个序列,其中我告诉swift等待序列完成然后我转移到另一个函数,但它似乎跳过这个并继续前进
let earthSequence = SCNAction.sequence([SCNAction.wait(duration: 10),rollInGroup,rollOutGroup,earthNormalRotation])
defaultEarthNode.runAction(earthSequence)
nextFunction()
结果只是转到下一个功能而不等待10秒
答案 0 :(得分:3)
因为nextFunction()
在您开始操作后立即被调用,所以它不会等待它完成。 runAction
有一个completionHandler,您可以用它来知道序列何时完成。
defaultEarthNode.runAction(earthSequence, completionHandler: {
nextFunction()
})