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