Source code for quest.contrib.mouse

[docs]class MouseMotionMixin: """Extends `quest.QuestGame` to allow the player to be controlled by the mouse. Example usage:: from quest.examples.island import IslandAdventure from quest.contrib.mouse import MouseMotionMixin class IslandWithMouse(MouseMotionMixin, IslandAdventure): "The island adventure with mouse control." IslandWithMouse().run() """
[docs] def on_mouse_motion(self, x: float, y: float, dx: float, dy: float): """ Keep track of the mouse's new coordinates whenever it moves. This method is called automatically whenever the mouse moves. :param float x: x position of mouse :param float y: y position of mouse :param float dx: Change in x since the last time this method was called :param float dy: Change in y since the last time this method was called """ if self.player.center_y != y: self.player.change_y = dy if self.player.center_x != x: self.player.change_x = dx