EnumerateChildNodesWithName 中的多个子节点
Multiple Child Nodes in EnumerateChildNodesWithName
我正在使用 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()
}
})
你可以这样做:
enumerateChildNodesWithName("*") { node, _ in
if node.name == "ground" || node.name == "obstacle" {
// ...
}
}
"*"
意味着您将枚举场景的所有子节点(假设它是调用 enumerateChildNodesWithName
的场景)。如果你想检查 all 节点,你可以使用 "//*"
.
我正在使用 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()
}
})
你可以这样做:
enumerateChildNodesWithName("*") { node, _ in
if node.name == "ground" || node.name == "obstacle" {
// ...
}
}
"*"
意味着您将枚举场景的所有子节点(假设它是调用 enumerateChildNodesWithName
的场景)。如果你想检查 all 节点,你可以使用 "//*"
.