Mousebuttondown-Ereignis in PyGame

Fariba Laiq 30 Januar 2023
  1. Installieren Sie PyGame in Python 2.7
  2. Installieren Sie PyGame in Python 3.5
  3. Erkenne das MOUSEBUTTONDOWN-Ereignis in PyGame
Mousebuttondown-Ereignis in PyGame

PyGame ist, wie der Name schon sagt, eine Open-Source-multimedia-Bibliothek in Python, die hauptsächlich zum Erstellen von Videospielen verwendet wird, die Grafiken, Sounds, visuelle Elemente usw. enthalten. Heutzutage ist die Spieleprogrammierung ziemlich erfolgreich.

Es ist eine plattformübergreifende Bibliothek, die auf mehreren Plattformen mit einer einzigen Codebasis funktioniert. Diese Bibliothek enthält viele Module für Grafiken und Sounds, da jedes Spiel ohne Sounds oder Grafiken bedeutungslos ist.

Dieses Tutorial zeigt, wie Sie das Ereignis MOUSEBUTTONDOWN mit PyGame erkennen und als Reaktion darauf eine Aktion auslösen.

Installieren Sie PyGame in Python 2.7

Um diese Bibliothek zu verwenden, sollten wir sie zuerst installieren. Wenn Sie die Python-Version 2.7 ausführen, sollten Sie den folgenden Befehl verwenden, um PyGame zu installieren.

None

Installieren Sie PyGame in Python 3.5

Wenn Sie Python Version 3.5 ausführen, sollten Sie den folgenden Befehl verwenden.

#Python 3.x
pip3 install pygame

Erkenne das MOUSEBUTTONDOWN-Ereignis in PyGame

In jedem Spiel ist es der Hauptteil des Spiels, Eingaben vom Spieler entgegenzunehmen und eine Aktion auszuführen. Das MOUSEBUTTONDOWN-Ereignis tritt auf, wenn Sie mit der linken oder rechten Maustaste klicken, unabhängig davon, wie lange Sie sie nach dem Klicken gedrückt halten.

Im folgenden Code richten wir das Spielfenster ein und definieren die Länge und Höhe des Fensters in Pixeln. Wir haben die Hauptschleife (while-Schleife) und die Ereignisschleife (for-Schleife) erstellt, um die Ereignisse zu erfassen.

In der for-Schleife haben wir den Typ des Ereignisses anhand der if-Bedingungen überprüft. Wenn das MOUSEBUTTONDOWN-Ereignis ausgelöst wird, wird eine Meldung angezeigt MOUSEBUTTONDOWN event occurred.

Wenn der Benutzer das Spiel durch Drücken der Schaltfläche X im Fenster des Spiels verlässt, wird das Ereignis QUIT ausgelöst, und als Reaktion darauf wird das Spiel beendet und das Fenster wird geschlossen. Hier haben wir im PyGame-Fenster einmal die Maustaste gedrückt.

Beispielcode:

# Python 3.x
import pygame
import sys

pygame.init()
display = pygame.display.set_mode((500, 500))
while True:
    for event in pygame.event.get():
        if event.type == pygame.MOUSEBUTTONDOWN:
            print("MOUSEBUTTONDOWN event occured")
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

Ausgabe:

#Python 3.x
MOUSEBUTTONDOWN event occured

Wenn Sie überprüfen möchten, welche Maustaste gedrückt ist, links oder rechts, können Sie die von der Methode pygame.mouse.get_pressed() zurückgegebenen Werte überprüfen. Bei dieser Methode werden drei Werte zurückgegeben, einer für jede Maustaste.

Hier haben wir die zurückgegebenen Werte in einer Liste gespeichert. Jeder Maustaste ist ein Wert zugeordnet, 1, 2, 3, 4, 5 für die linke Maustaste, mittlere Maustaste, rechte Maustaste, Mausrad nach oben bzw. Mausrad nach unten.

Im folgenden Code haben wir überprüft, welche Maustaste geklickt wurde und eine entsprechende Meldung ausgegeben. Wir haben die linke und rechte Maustaste gedrückt.

Beispielcode:

# Python 3.x
import pygame
import sys

pygame.init()
display = pygame.display.set_mode((500, 500))
while True:
    for event in pygame.event.get():
        if event.type == pygame.MOUSEBUTTONDOWN:
            mouse_presses = pygame.mouse.get_pressed()
            if mouse_presses[0]:
                print("Left mouse button pressed")
            if mouse_presses[2]:
                print("Right mouse button pressed")
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

Ausgabe:

#Python 3.x
Left mouse button pressed
Right mouse button pressed
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

Verwandter Artikel - Pygame Function