Browse Source

tutorial chapter 1 with shipwreck and doggerel dan and nell

Asad M. Zaman 19 years ago
parent
commit
feabf7e8ee
1 changed files with 4 additions and 3 deletions
  1. 4 3
      direct/src/actor/Actor.py

+ 4 - 3
direct/src/actor/Actor.py

@@ -446,7 +446,7 @@ class Actor(DirectObject, NodePath):
             self.removeNode()
             self.removeNode()
 
 
     def removeNode(self):
     def removeNode(self):
-        if self.__geomNode:
+        if self.__geomNode and (self.__geomNode.getNumChildren() > 0):
             self.notify.warning("called actor.removeNode() on %s without calling cleanup()" % self.getName())
             self.notify.warning("called actor.removeNode() on %s without calling cleanup()" % self.getName())
         NodePath.removeNode(self)
         NodePath.removeNode(self)
 
 
@@ -467,9 +467,10 @@ class Actor(DirectObject, NodePath):
             self.__LODNode.removeNode()
             self.__LODNode.removeNode()
             self.__LODNode = None
             self.__LODNode = None
 
 
-        for child in self.__geomNode.getChildrenAsList():
+        # remove geom node and all its children
+        for i in xrange (0, self.__geomNode.getNumChildren()):
+            child = self.__geomNode.getChild(i)
             child.removeNode()
             child.removeNode()
-            
 
 
         self.__hasLOD = 0
         self.__hasLOD = 0