swift - 循环遍历场景中的所有对象/ Sprite

标签 swift sprite-kit

是否可以在调用覆盖函数“didMoveToView”时循环遍历场景中包含的所有对象?在上下文中,我试图检查所有对象以查看其中是否有一个名称为“planet1”,然后使其围绕给定点运行。

最佳答案

如果您需要遍历所有节点,只需使用

enumerateChildNodesWithName("//*", usingBlock: 
    { (node, stop) -> Void in  
        if node.name=="planet1" {
            //make it orbit
        }
    })

在名称字符串//中表示搜索整个节点树,而不仅仅是该节点的子节点。
*为通配符,匹配任意名称,可以使用"xxx*"匹配任意以xxx开头的名称,"*xxx"也是如此> 匹配任何以 xxx 结尾的名字

编辑:你可以这样做:

planet1=self.childNodeWithName("//planet1")!

关于swift - 循环遍历场景中的所有对象/ Sprite ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27080854/

相关文章:

ios - 在 SpriteKit 场景之间传递数据 (Swift)

swift - 添加多个边框以检测屏幕内外的节点

swift - 为什么我无法使用 SKPhysicsBody 构造函数?

ios - 从 SKScene 呈现一个 UIViewController

ios - 如何使用 Swift 4 避免文件上传重复

swift - 当用户在单元格中键入内容时,使 UITableView 标题自动调整大小

ios - 如何解析相同key、不同数据的JSON数据?

ios - 编码 SpriteKit 游戏

iOS swift : Button Action in a separate class file

swift - 在 Swift 中,如何指定将 RawRepresentable 限制为 String 的类型别名?