将一系列不同的SKAction应用于不同的SKNode

时间:2017-07-12 22:30:24

标签: ios swift sprite-kit

我想创建一系列SKActions,每个SKActions用于不同的SKSpriteNode。我想淡化我的layer节点,将其从父节点中删除,等待3秒钟,然后为我的move节点启动snake SKAction。这是一些代码:

func startGame() {
    layer.run(SKAction.sequence([
        SKAction.fadeAlpha(to: 0, duration: 1),
        SKAction.removeFromParent(),
        SKAction.wait(forDuration: 1),
    ]))
    //Here move the snake node
}

问题是,如果我在评论的位置添加snake.run(SKAction.move(...)),则会在layer.run(...)的同时执行。

1 个答案:

答案 0 :(得分:4)

您可以将一个代码块或函数块作为操作运行(因为在Swift闭包中也是函数类型),因此您可以在运行的操作数组中添加SKAction.runBlock(moveSnake)作为最后一个SKAction layer

然后在func moveSnake() {}你可以动作你的动作来移动蛇。