我使用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()
}
})
答案 0 :(得分:6)
你可以这样做:
enumerateChildNodesWithName("*") { node, _ in
if node.name == "ground" || node.name == "obstacle" {
// ...
}
}
"*"
表示您将枚举所有作为场景子节点的节点(假设它是调用enumerateChildNodesWithName
的场景)。如果您想检查所有节点,请改为使用"//*"
。