一尘不染

SKAction完成处理程序;Swift中的用法

swift

我是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))

阅读 351

收藏
2020-07-07

共1个答案

一尘不染

您的完成代码不会被调用,因为您的“死亡”操作将永远运行,这意味着它永远不会结束。

您可以使用

+ repeatAction:count:

设置在完成之前将进行多少次重复计数的方法:

spaceManDeathAnimation = SKAction.repeatAction(SKAction.animateWithTextures(textures, timePerFrame: 0.15625), count:5)
2020-07-07