EnumerateChildNodesWithName中的多个子节点

时间:2015-06-01 05:14:07

标签: xcode swift sprite-kit nodes removechild

我使用enumerateChildNodesWithName删除和添加节点。我想知道是否有一种方法可以使用带有多个名称的enumerateChildNodesWithName。例如,目前我正在使用以下内容:

    nodeBase.enumerateChildNodesWithName("ground", usingBlock: {
        node, stop in
        if node.position.x + positionX < -self.frame.size.width/2 - sizeSegmentWidth/2 {
            node.removeFromParent()
        }
    })

    nodeBase.enumerateChildNodesWithName("obstacle", usingBlock: {
        node, stop in
        if node.position.x + positionX < -self.frame.size.width/2 - sizeSegmentWidth/2 {
            node.removeFromParent()
        }
    })

但我希望做的就是这样(这不起作用,只是我尝试做的一个例子):

    nodeBase.enumerateChildNodesWithName("ground" || "obstacle", usingBlock: {
        node, stop in
        if node.position.x + positionX < -self.frame.size.width/2 - sizeSegmentWidth/2 {
            node.removeFromParent()
        }
    })

1 个答案:

答案 0 :(得分:6)

你可以这样做:

enumerateChildNodesWithName("*") { node, _ in
    if node.name == "ground" || node.name == "obstacle" {
        // ...
    }
}

"*"表示您将枚举所有作为场景子节点的节点(假设它是调用enumerateChildNodesWithName的场景)。如果您想检查所有节点,请改为使用"//*"