循环遍历场景中的所有对象/精灵

Col*_*hog 2 sprite-kit swift

当调用覆盖函数"didMoveToView"时,是否可以遍历场景中包含的所有对象?在上下文中,我试图检查所有对象,看看其中一个对象是否具有名称"planet1",然后围绕给定点进行轨道运行.

小智 7

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

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

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

编辑:你可以这样做:

planet1=self.childNodeWithName("//planet1")!
Run Code Online (Sandbox Code Playgroud)