swift - 有没有办法暂停具有特定 zPosition 及以下的所有 Sprite ?

标签 swift sprite-kit swift3

我正试图暂停我游戏中的许多 Sprite 。有没有一种方法可以暂停具有给定 zPosition 的 Sprite 或低于给定 zPosition 的所有 Sprite ?这些 Sprite 也可能在更新方法中更新物理体。

最佳答案

您可以使用如下示例中的代码来完成此任务:

self.enumerateChildNodes(withName: "//*") {
     node, stop in
     if node.zPosition > 1 && node.zPosition < 4 {
        // do whatever you want with these nodes (sprites, labels..)
        if node is SKSpriteNode { // you can use also this filter to pause only SKSpriteNode types
           node.isPaused = true
        }
     }
}

您还可以决定在第一行中使用特定的“名称”而不是“*”来仅对具有此名称的节点进行分组。

关于swift - 有没有办法暂停具有特定 zPosition 及以下的所有 Sprite ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40758759/

相关文章:

ios - 如果他们引用的对象被释放,守卫是否可以在使用 [weak self] 的闭包中让 `self` = self 导致崩溃?

iOS - 在 Swift 中调用 Webservice 和解析 JSON

ios - 如何使用 swift 在 SpriteKit 游戏中创建 'share to Facebook button'?

ios - 带有不受重力影响的 child 的 SKLabelNode - 不尊重 zPosition

swift 3 : AppDelegate does not conform to protocol GIDSignInDelegate

ios - 使用 UINavigationController 和 UINavigationBar 的区别

ios - 在 swift 中为所有出现的字符串着色

sprite-kit - Spritekit 无尽的 runner parent SKNode

ios - 单元格内的 Collection View 有时会混淆您的数据

ios - ScrollView Insets 不调整 KeyboardHide 功能 (SWIFT3)