在这里,我有一组动画作用于名为SCNSphere
的{{1}}
testNode
我试图阻止最后两个动画同时发生。如何检查第二个动画是否完成然后运行列出的最后一个动画。我还要感谢检查一组同时运行的动画是否已完成。
答案 0 :(得分:1)
您可以制作与SKActions类似的序列:
/* Actions */
let moveUp = SKAction.moveBy(x: 0, y: 100, duration: 1.0)
let zoom = SKAction.scale(to: 2.0, duration: 0.25)
let sequence = SKAction.sequence([moveUp, zoom])
let node = SKNode()
node.run(sequence)
SCNAction.group()和 SCNAction.sequence():
class func group([SCNAction])
创建一个并行运行一系列操作的操作。
class func sequence([SCNAction])
创建一个按顺序运行一系列动作的动作(我猜你需要这个)。
/* Action with sequence of actions */
let move = SCNAction.sequence([moveUp, moveDown, moveLeft, moveRight]) // will be executed one by one
let rotate = SCNAction.rotateBy(x: 0, y: .pi, z: 0, duration: 2)
/* Group actions */
let group = SCNAction.group([rotate, move])
node.runAction(group, completionHandler:nil)