【发布时间】:2018-06-12 16:23:34
【问题描述】:
我想创建并运行一些 SKAction。在 SKAction 之后,程序会打印一条消息。
let actLoop = SKAction.run {
for i in 1 ... 10 {
self.stone[i - 1].position = CGPoint(x: 0 , y: -100)
self.stone[i - 1].anchorPoint = CGPoint(x: 0.5, y: 0.5)
self.stone[i - 1].size = CGSize(width: 50, height: 50)
self.addChild(self.stone[i - 1])
let actionMove = SKAction.move(to: CGPoint(x: 0, y: 0), duration: 0.3)
let actionRolling = SKAction.animate(with: stone[i - 1].arrayTexture, timePerFrame: 0.05)
let actionSequence = SKAction.sequence([actionMove,actionRolling])
stone[i - 1].run(actionSequence)
}
self.run(actLoop) {
print("Completed")
}
程序最后不会打印“已完成”消息,但该消息将在 SKAction 执行的同时出现。我希望该消息仅在所有 SKAction 完成后出现。我也试过这个:
self.run(actLoop, completion: {
//
print("Completed")
})
这也不起作用。我似乎无法做到这一点。
【问题讨论】:
标签: for-loop swift3 sprite-kit skaction completionhandler