Hola estoy tratando de eliminar todos los nodos de mi Scenekit escena, pero no puedo por la vida de la manera.

Me parece lógico que debe haber una función para hacer esto de forma automática, pero yo no lo encuentro.

En contexto, estoy tratando de eliminar todos los nodos, así que puedo restablecer mi escena, lo que va a ocurrir razonablemente a menudo. Tal vez hay otra forma de hacer esto y yo estaría bien con eso, no estoy atascado con la necesidad de eliminar todos los nodos.

Gracias!

OriginalEl autor Tim Andrews | 2015-02-26

5 Comentarios

  1. 3

    puede crear una nueva escena o llame -[SCNNode removeFromParentNode] en cada nodo hijo de la escena del rootNode

    OriginalEl autor mnuages

  2. 25

    Probar esto (suponiendo que usted está usando Swift):

    rootNode.enumerateChildNodes { (node, stop) in
            node.removeFromParentNode()
        }

    Funciona para mí.

    OriginalEl autor Alan

  3. 9

    Para mí trabajado como el de abajo:

    sceneView.scene.rootNode.enumerateChildNodes { (node, stop) in
    node.removeFromParentNode() }
    También puede omitir la pausa de la sesión

    OriginalEl autor Alessandro Mattiuzzi

  4. 3

    Donde usted necesita para eliminar todos los nodos, llame a esta (si la escena no es self, el cambio es):

    for (SCNNode *node in [self children]) {
        [node removeFromParent]
    }

    Además, si usted necesita para eliminar cada uno de los nodos excepto para algunos, llame a este (es decir, no queremos quitar de 3 nodos, y son así a, b, y c)

    for (SCNNode *node in [self children]) {
        if (![node.name isEqualToString:@"a"] && ![node.name isEqualToString:@"b"] && ![node.name isEqualToString:@"c"]) {
            [node removeFromParent]
        }
    }

    Espero que esto ayude!

    OriginalEl autor DDPWNAGE

  5. -2

    la forma más sencilla que he encontrado para eliminar todos los nodos de una escena es:

      self.removeAllChildren()

    Esta funcionado bien para mí en la versión de XCode 7.2

    ¿por qué fue esta abajo votado?
    Este método no está disponible en SceneKit hoy en día
    Porque esto no es un SceneKit sino un método de SpriteKit

    OriginalEl autor Jason

Dejar respuesta

Please enter your comment!
Please enter your name here