【问题标题】:EnumerateChildNodesWithName, Can't seem to Remove nodesEnumerateChildNodesWithName,似乎无法删除节点
【发布时间】:2015-05-30 17:06:42
【问题描述】:

一旦到达某个 x 位置,我正在尝试从父节点中删除一些节点。我遇到的问题是父节点正在改变 x 位置,但子节点没有改变父节点内部的 x 位置(但显然与父节点一起移动),所以当我输入 if node.position.x

func cleanUp() {
    let positionX = nodeBase.position.x
    nodeBase.enumerateChildNodesWithName("segment", usingBlock: {
        node, stop in
        if node.position.x - positionX < 300 {
            node.removeFromParent()
        }
    })
}

谁能看到我的代码哪里出了问题,或者你能指出我正确的方向吗?

【问题讨论】:

  • 移除节点的条件是什么?一旦它移出屏幕?
  • 是的,一旦它移出屏幕,我希望将其移除,但我将其设置为

标签: swift position nodes enumerate


【解决方案1】:

尝试以下方法:

nodeBase.enumerateChildNodesWithName("segment") { node, _ in
    if !self.intersectsNode(node) {
        node.removeFromParent()
    }
 }

intersectsNode 返回true,而nodeSKScene 的范围内。因此,当intersectsNode 返回false 时,您就知道该节点不在屏幕上,您可以移除该节点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-23
    • 2023-04-07
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    • 2019-01-21
    • 2015-07-16
    • 1970-01-01
    相关资源
    最近更新 更多