我想创建一系列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(...)
的同时执行。
答案 0 :(得分:4)
您可以将一个代码块或函数块作为操作运行(因为在Swift闭包中也是函数类型),因此您可以在运行的操作数组中添加SKAction.runBlock(moveSnake)
作为最后一个SKAction
layer
。
然后在func moveSnake() {}
你可以动作你的动作来移动蛇。