Python Arcade – Umgang mit Mauseingaben
In diesem Artikel erfahren wir, wie wir mit Mauseingaben im Arcade-Modul in Python umgehen können.
In Arcade können Sie die Mauseingaben einfach mit diesen Funktionen handhaben:
on_mouse_motion():
Syntax: on_mouse_motion(x, y, dx, dy)
Parameter:
- x : x-Koordinate
- y : y-Koordinate
- dx : Änderung der x-Koordinate
- dy : Änderung der y-Koordinate
on_mouse_press():
Syntax: on_mouse_press( x, y, Taste, Modifikatoren)
Parameter:
- x : x-Koordinate
- y : y-Koordinate
- Taste : Taste, die gedrückt wird
- modifiers : Bitweises 'und' aller Modifikatoren (Shift, Strg, Num Lock), die während dieses Ereignisses gedrückt wurden.
Die Funktion on_mouse_motion() wird immer dann aufgerufen, wenn der Benutzer die Maus bewegt. In ähnlicher Weise wird on_mouse_press() immer dann aufgerufen, wenn ein Benutzer eine Maustaste drückt.
Bewegung mit Mauseingaben
Hier erstellen wir ein einfaches Programm mit dem Arcade-Modul, um unseren Charakter mit Mauseingaben zu bewegen.
Im folgenden Beispiel erstellen wir eine MainGame()-Klasse. Innerhalb dieser Klasse initialisieren wir zuerst die x- und y-Startkoordinate des Players. Dann erstellen wir drei Funktionen innerhalb dieser Klasse.
- on_draw():- Innerhalb dieser Funktion starten wir das Rendern mit arcade.start_render() und zeichnen dann unseren Spieler.
- on_mouse_motion():- Diese Funktion wird immer dann aufgerufen, wenn der Benutzer die Maus bewegt. Innerhalb dieser Funktion ändern wir die x- und y-Koordinate des Players.
Nachfolgend die Umsetzung:
Python3
# Importing arcade module import arcade # Creating MainGame class class MainGame(arcade.Window): def __init__(self): super().__init__(600, 600, title="Keyboard Inputs") # Starting location of player self.x = 100 self.y = 100 # Creating on_draw() function to draw on the screen def on_draw(self): arcade.start_render() # Drawing our player arcade.draw_circle_filled(self.x, self.y, 25, arcade.color.GREEN) # Creating function to check the position # of the mouse def on_mouse_motion(self, x, y, dx, dy): """ Called whenever the mouse moves. """ self.x = x self.y = y # Calling MainGame class MainGame() arcade.run()
Ausgabe:
Behandeln Sie Mausklicks
Um nun Mausklicks zu verarbeiten, erstellen wir eine neue Funktion namens „on_mouse_press“. Diese Funktion wird jedes Mal aufgerufen, wenn der Benutzer auf eine Maustaste klickt.
Python3
# Importing arcade module import arcade # Creating MainGame class class MainGame(arcade.Window): def __init__(self): super().__init__(600, 600, title="Keyboard Inputs") # Starting location of player self.x = 100 self.y = 100 # Creating on_draw() function to draw on the screen def on_draw(self): arcade.start_render() # Drawing our player arcade.draw_circle_filled(self.x, self.y,25, arcade.color.GREEN ) # Creating function to check the position # of the mouse def on_mouse_motion(self, x, y, dx, dy): """ Called whenever the mouse moves. """ self.x = x self.y = y # Creating function to check the mouse clicks def on_mouse_press(self, x, y, button, modifiers): print("Mouse button is pressed") # Calling MainGame class MainGame() arcade.run()
Ausgabe: