如何在包含完成块参数的情况下永远 "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]))