示例#1
0
 def buildBulletAnim(self, start_pos, target_tile):
     # We create the bullet and its animation
     self.bullet = loader.loadModel("sphere")
     self.bullet.setScale(0.05)
     start_pos = Point3(start_pos.getX(), start_pos.getY(), 0.9)
     end_pos = Point3(utils.TILE_SIZE*(target_tile[0] + 0.5), utils.TILE_SIZE*(target_tile[1] + 0.5), 0.9)
     dest_node = NodePath("dest_node")
     dest_node.setPos(end_pos)
     start_node = NodePath("start_node")
     start_node.setPos(start_pos)
     time = round(start_node.getDistance(dest_node) / utils.BULLET_SPEED, 2)
     bullet_sequence = Sequence(Func(self.sgm.setBullet, self.bullet),
                                self.bullet.posInterval(time, end_pos, start_pos),
                                Func(self.sgm.deleteBullet, self.bullet)
                                )
     return bullet_sequence