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

标签 ios swift sprite-kit

我想创建一系列 SKAction,每个 SKAction 都针对不同的 SKSpriteNode。我想要淡出我的 layer 节点,将其从父级中删除,等待 3 秒,然后为我的 snake 节点启动 move 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 同时执行。运行(...)

最佳答案

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

然后在 func moveSnake() {} 中,您可以运行操作来移动蛇。

关于ios - 将一系列不同的 SKAction 应用于不同的 SKNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45068551/

相关文章:

ios - 我无法导入 swiftHTTP (rapidAPI)

swift - 更改静态变量

swift - 如何创建跟随 SWIFT 字符的背景?

ios - 如何在 UIViews 和 SKNodes 之间转换点

ios - SKPhysicsBody 减速程序

ios - Google Calendar API - 架构 i386 的 undefined symbol

ios - Swift 3 将 ArrayList 对象变量传递给字符串数组

ios - 在设备上的应用程序上运行泄漏命令行工具

ios - Segue 不调用 prepareForSegue

swift - String.CharacterView - 如何转换为字符串