如何从scenekit场景中删除所有节点?

Tim*_*ews 16 reset nodes scenekit swift

嗨,我试图从我的Scenekit场景中删除所有节点,但我不能为我的生活找出一种方法.

对我来说似乎合乎逻辑,必须有一个自动执行此功能的功能,但我找不到它.

在上下文中,我试图删除所有节点,以便我可以重置我的场景,这将经常发生.也许有另一种方法可以做到这一点,我会很好,我不会被迫删除所有节点.

谢谢!

小智 31

试试这个(假设您使用的是Swift):

rootNode.enumerateChildNodes { (node, stop) in
        node.removeFromParentNode()
    }
Run Code Online (Sandbox Code Playgroud)

适合我.

  • 请注意,根据 Cocoa 约定,在枚举集合(子节点)时对其进行变异是程序员的错误。我不建议这样做。 (2认同)

Ale*_*zzi 10

对我来说,工作如下:

sceneView.scene.rootNode.enumerateChildNodes { (node, stop) in
node.removeFromParentNode() }
Run Code Online (Sandbox Code Playgroud)