Ejemplo n.º 1
0
 def move_dir(self):
     dir = Vector(0,0)
     if not self.valid():    return dir
     dir.x = -self.action_value(InputMethod.MOVE_LEFT)
     if dir.x == 0:
         dir.x = self.action_value(InputMethod.MOVE_RIGHT)
     dir.y = -self.action_value(InputMethod.MOVE_UP)
     if dir.y == 0:
         dir.y = self.action_value(InputMethod.MOVE_DOWN)
     if dir.squaredLen() > 1:
         dir.normalize()
     return dir
Ejemplo n.º 2
0
 def targeting_dir(self):
     if self.targeting_type == InputMethod.AUTO_TARGETING:
         return None
     elif self.targeting_type == InputMethod.POINT_TARGETING:
         mouse = sf.Mouse.get_position(Game.window)
         dir = Vector(mouse.x, mouse.y) - self.player.center()
         dir.normalize()
         return dir
     elif self.targeting_type == InputMethod.DIRECTIONAL_TARGETING:
         dir = Vector(0.0, 0.0)
         dir.x += self.targeting_bindings['right'].value(self.id)
         dir.x -= self.targeting_bindings['left'].value(self.id)
         dir.y += self.targeting_bindings['down'].value(self.id)
         dir.y -= self.targeting_bindings['up'].value(self.id)
         dir.normalize()
         return dir
     return None