Ejemplo n.º 1
0
 def on_touch_down(self, touch):
     
     if touch.button == 'left':
         self.goal = world_to_graph(touch.pos)
         
         self.path = self.parent.pathfinding(self.position, self.goal)
         
     return
Ejemplo n.º 2
0
 def update(self):
     
     if self.path and self.vel == (0, 0):
         
         node = self.path[0]
         del self.path[0]
         
         self.new_pos = graph_to_world(node)
         
         dx = node[0] - self.position[0]
         dy = node[1] - self.position[1]
         
         self.vel = (dx*4, dy*4)
     
     if copysign(1, self.vel[0])*(self.new_pos[0]-self.pos[0]) <= 0 and copysign(1, self.vel[1])*(self.new_pos[1]-self.pos[1]) <= 0:
         
         self.vel = (0, 0)
     
     self.pos[0] = round(self.pos[0] + self.vel[0])
     self.pos[1] = round(self.pos[1] + self.vel[1])
     self.position = world_to_graph(self.pos)
     
     return