我是Swift和SpriteKit的新手。SpriteKit Actions的许多示例都在Objective C中,在Swift中我无法映射到它,也无法使用。
如果运行SKAction,并且在完成SKAction后又想做其他事情,那么如何在Swift中做到这一点呢?
spaceMan.runAction(spaceManDeathAnimation, completion: { println("red box has faded out") })
任何想法将不胜感激。
编辑:
for i in 0...29 { textures.append(SKTexture(imageNamed: "spaceManDeath_\(i)")) } spaceManDeathAnimation = SKAction.repeatActionForever(SKAction.animateWithTextures(textures, timePerFrame: 0.15625))
您的完成代码不会被调用,因为您的“死亡”操作将永远运行,这意味着它永远不会结束。
您可以使用
+ repeatAction:count:
设置在完成之前将进行多少次重复计数的方法:
spaceManDeathAnimation = SKAction.repeatAction(SKAction.animateWithTextures(textures, timePerFrame: 0.15625), count:5)