Esempio n. 1
0
 def testCanSerializeAndDeserialize(self):
     """testCanSerializeAndDeserialize: should be able to store and restore a physics based object"""
     a = serge.actor.Actor('test', 'test')
     a.visual = serge.blocks.visualblocks.Circle(40, (0,0,0,0))
     a.setPhysical(serge.physical.PhysicalConditions(mass=1.0, radius=1.0, velocity=(1.0, 0.0), update_angle=True, visual_size=serge.geometry.CIRCLE))
     a.moveTo(0,0)
     self.w.addActor(a)
     self.w.updateWorld(1000.0)
     #
     # Serialize and deserialize
     world = serge.serialize.Serializable.fromString(self.w.asString())
     world.updateWorld(1000.0)
     actor = world.findActorByName('test')
     self.assertAlmostEqual(2.0, actor.x)        
     self.assertEqual(True, actor.getPhysical().update_angle)
     self.assertEqual(serge.geometry.CIRCLE, actor.getPhysical().visual_size)
     self.assertEqual(40, actor.getPhysical().radius)
Esempio n. 2
0
 def editActor(self, path, column, new_text):
     """Edit the actor in the list view"""
     row = int(path)
     world = self.engine.getCurrentWorld()
     actor = world.findActorByName(self.view_actors.model[path][1])
     world.removeActor(actor)
     data = self.view_actors.model[row]
     if column in (4, 5):
         data[column] = int(new_text)
     else:
         data[column] = new_text
     tag, name, sprite, layer, x, y = data
     new_actor = serge.actor.Actor(tag, name)
     if sprite:
         new_actor.setSpriteName(sprite)
     if layer:
         new_actor.setLayerName(layer)
     new_actor.moveTo(x, y)
     world.addActor(new_actor)
     self.view_actors.model[row] = data
Esempio n. 3
0
 def editActor(self, path, column, new_text):
     """Edit the actor in the list view"""
     row = int(path)
     world = self.engine.getCurrentWorld()
     actor = world.findActorByName(self.view_actors.model[path][1])
     world.removeActor(actor)
     data = self.view_actors.model[row]
     if column in (4, 5):
         data[column] = int(new_text)
     else:
         data[column] = new_text
     tag, name, sprite, layer, x, y = data
     new_actor = serge.actor.Actor(tag, name)
     if sprite:
         new_actor.setSpriteName(sprite)
     if layer:
         new_actor.setLayerName(layer)
     new_actor.moveTo(x, y)
     world.addActor(new_actor)
     self.view_actors.model[row] = data