如何在包含完成块参数的情况下永远 "runAction"
How to "runAction" forever with completion block parameter included
我在我一直在开发的 SpriteKit 游戏中声明了一个方法,该方法运行一个动作,其中 SpriteNode 向上移动,在竞争中向下移动。
func yFluctuation(node: SKSpriteNode) {
let flucUp = SKAction.moveToY(node.position.y + 9, duration: 2.0)
let flucDown = SKAction.moveToY(node.position.y - 9, duration: 2.0)
node.runAction(flucUp, completion: {node.runAction(flucDown)})
}
我试过 SKAction.repeatActionForver()
,但它只适用于 flucUp
,如果我在其中包含完成块,它会出错。如果有人有任何解决方案,即使这意味着改变函数的结构,我也将不胜感激。
提前致谢。
我没有办法测试它,但是永远重复一个序列是否有效?不过,我承认这是在黑暗中拍摄的东西。
SKAction.repeatActionForever(SKAction.sequence([flucUp, flucDown]))
我在我一直在开发的 SpriteKit 游戏中声明了一个方法,该方法运行一个动作,其中 SpriteNode 向上移动,在竞争中向下移动。
func yFluctuation(node: SKSpriteNode) {
let flucUp = SKAction.moveToY(node.position.y + 9, duration: 2.0)
let flucDown = SKAction.moveToY(node.position.y - 9, duration: 2.0)
node.runAction(flucUp, completion: {node.runAction(flucDown)})
}
我试过 SKAction.repeatActionForver()
,但它只适用于 flucUp
,如果我在其中包含完成块,它会出错。如果有人有任何解决方案,即使这意味着改变函数的结构,我也将不胜感激。
提前致谢。
我没有办法测试它,但是永远重复一个序列是否有效?不过,我承认这是在黑暗中拍摄的东西。
SKAction.repeatActionForever(SKAction.sequence([flucUp, flucDown]))