如何" runAction"永远包含完成块参数

时间:2015-02-05 02:27:51

标签: ios swift sprite-kit

我在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,如果我在其中包含完成块,则会出错。如果有人有任何解决方案,即使这意味着改变功能的结构,我将非常感激。

提前致谢。

1 个答案:

答案 0 :(得分:2)

我没有办法测试它,但会重复一个序列永远有效吗?我承认它在黑暗中是一种射击。

SKAction.repeatActionForever(SKAction.sequence([flucUp, flucDown]))