Exemple #1
0
 def setupShip(self,filename):
   domLevel = parse(filename)
   shipNodes = domLevel.getElementsByTagName("ship")
   shipNode = shipNodes[0]
   self.mainbody = Body()
   for node in shipNode.childNodes:
     if node.localName == "position":
       position = node.getAttribute('value')
       values = position.split(',')
       self.mainbody.setPosition(float(values[0]),float(values[1]))
     if node.localName == "mobile":
       m = Mobile()
       for childnode in node.childNodes:
         if childnode.localName == "position":
           values = childnode.getAttribute('value').split(',')
           m.setPosition(float(values[0]),float(values[1]))
         if childnode.localName == "velocity":
           values = childnode.getAttribute('value').split(',')
           m.setVelocity(float(values[0]),float(values[1]))
         if childnode.localName == "thrust":
           values = childnode.getAttribute('value').split(',')
           m.setThrustVector(float(values[0]),float(values[1]))
           m.setInitialThrustVector(float(values[0]),float(values[1]))                          
         if childnode.localName == "mass":
           value = childnode.getAttribute('value')
           m.setMass(float(value))      
         if childnode.localName == "radius":
           value = childnode.getAttribute('value')
           m.setRadius(float(value))  
         if childnode.localName == "texture":
           value = childnode.getAttribute('value')
           m.setTexture(TextureHelper.loadTextureFromFile(value))
         #if childnode.localName == "physicalPoints":
         #  for ppointnode in childnode.childNodes:
         #    if ppointnode.localName == "point":
         #      values = ppointnode.getAttribute('value').split(',')
         #      m.addPhysicalPoint(Vector2d(float(values[0]),float(values[1])))
       m.setupPhysicalPoint()
       self.mainbody.addMobile(m)
   self.mainbody.init()
   focus_position = self.mainbody.getPosition()
   self.world.addMobile(self.mainbody)