EnumerateChildNodesWithName,似乎无法删除节点
EnumerateChildNodesWithName, Can't seem to Remove nodes
我正在尝试在某些节点到达某个 x 位置后从父节点中删除它们。我遇到的问题是父节点正在改变 x 位置,但子节点没有改变父节点内的 x 位置(但显然是与父节点一起移动),所以当我输入 if node.position.x < 300 时。 . . (删除节点),没有任何反应。我尝试了下面的代码,但这只能工作一次,然后不会再次删除节点,我不是 100% 确定为什么它停止工作。
func cleanUp() {
let positionX = nodeBase.position.x
nodeBase.enumerateChildNodesWithName("segment", usingBlock: {
node, stop in
if node.position.x - positionX < 300 {
node.removeFromParent()
}
})
}
谁能看出我的代码哪里出了问题,或者您能指出正确的方向吗?
尝试以下操作:
nodeBase.enumerateChildNodesWithName("segment") { node, _ in
if !self.intersectsNode(node) {
node.removeFromParent()
}
}
intersectsNode
returns true
而 node
在 SKScene
的范围内。因此,当 intersectsNode
returns false
您知道该节点在屏幕外并且您可以删除该节点。
我正在尝试在某些节点到达某个 x 位置后从父节点中删除它们。我遇到的问题是父节点正在改变 x 位置,但子节点没有改变父节点内的 x 位置(但显然是与父节点一起移动),所以当我输入 if node.position.x < 300 时。 . . (删除节点),没有任何反应。我尝试了下面的代码,但这只能工作一次,然后不会再次删除节点,我不是 100% 确定为什么它停止工作。
func cleanUp() {
let positionX = nodeBase.position.x
nodeBase.enumerateChildNodesWithName("segment", usingBlock: {
node, stop in
if node.position.x - positionX < 300 {
node.removeFromParent()
}
})
}
谁能看出我的代码哪里出了问题,或者您能指出正确的方向吗?
尝试以下操作:
nodeBase.enumerateChildNodesWithName("segment") { node, _ in
if !self.intersectsNode(node) {
node.removeFromParent()
}
}
intersectsNode
returns true
而 node
在 SKScene
的范围内。因此,当 intersectsNode
returns false
您知道该节点在屏幕外并且您可以删除该节点。