Ein Spiel ist nichts ohne Eingaben, und mit der Unterstützung von Pygame für Maus- und Berührungseingaben können Sie sicherstellen, dass Ihr Spiel barrierefrei ist.

In der heutigen Zeit sind Touchscreen-Geräte allgegenwärtig. Es ist keine Überraschung, dass Spieleentwickler in ihren Spielen zunehmend Berührungseingaben verwenden, und Frameworks machen dies immer einfacher.

PyGame macht es einfach, Spiele und Anwendungen zu erstellen, die Berührungseingaben nutzen können.

Touch-Unterstützung von PyGame

PyGame verfügt über eine integrierte Unterstützung für die Arbeit mit Berührungseingaben. Dazu gehört die Unterstützung für Maus- und Fingereingaben.

Um eine Maus zu erkennen, können Sie die verwenden Pygame. MAUSTASTE NACH UNTEN Und Pygame. MAUSTASTE NACH OBEN Veranstaltungen. Zum Beispiel:

für Fall In pygame.event.get():
Wenn event.type == Pygame. MAUSTASTE NACH UNTEN:
drucken("Maustaste gedrückt")

Um Fingereingaben zu erkennen, können Sie die verwenden Pygame. FINGER NACH UNTEN Und Pygame. FINGERHOCH Veranstaltungen. Zum Beispiel:

für Fall In pygame.event.get():
Wenn event.type == Pygame. FINGER NACH UNTEN:
drucken("Finger berührte den Bildschirm")

Erstellen eines einfachen Spiels

Sie finden den gesamten Code in dieses GitHub-Repo.

Beginnen Sie mit der Erstellung eines einfachen Spiels. Dieses Spiel besteht aus einer Spielerfigur, die Sie mit Berührungseingaben auf dem Bildschirm bewegen können. Dazu müssen Sie eine Spielschleife und einen Spielercharakter erstellen.

Bevor Sie beginnen, vergewissern Sie sich, dass Sie dies getan haben pip auf Ihrem Gerät installiert, verwenden Sie dann den folgenden Befehl, um die PyGame Modul:

pip installiere pygame

Importieren Sie nun das PyGame-Modul in Ihren Spielcode:

importieren Pygame
pygame.init()

Erstellen Sie danach das Spielfenster und ein Spielobjekt:

# Richten Sie die Anzeige ein
Größe = (400, 400)
screen = pygame.display.set_mode (Größe)

# Erstellen Sie ein Player-Objekt
Spieler = Pygame. Oberfläche((50, 50))
player.fill((255, 0, 0))

# Legen Sie die Anfangsposition des Players fest
player_pos = [175, 175]

Erstellen Sie schließlich die Spielschleife:

# Die Spielschleife
läuft = WAHR

während Betrieb:
# Nach Ereignissen suchen
für Fall In pygame.event.get():
Wenn event.type == Pygame. AUFHÖREN:
läuft = FALSCH

# Aktualisieren Sie die Spielerposition
spieler_pos[0] += 5
spieler_pos[1] += 5

# Zeichne den Spieler
screen.blit (player, player_pos)

# Aktualisieren Sie die Anzeige
pygame.display.update()

Beachten Sie, dass der obige Code nur ein einfaches Spiel erstellt, bei dem sich der Spielercharakter auf dem Bildschirm bewegt. Um das Spiel interessanter zu machen, können Sie Fügen Sie Physik und Kollisionen hinzu um Hindernisse zu schaffen, die der Spieler überwinden muss.

Maus-Touch-Eingänge für Spielerbewegungen

Nachdem Sie nun ein Spiel mit einem Spielercharakter haben, können Sie mit dem Hinzufügen von Berührungseingaben beginnen. Dazu müssen Sie einen Ereignishandler für die Mauseingaben hinzufügen. Ergänzen Sie die Pygame. MAUSTASTE NACH UNTEN Und Pygame. MAUSTASTE NACH OBEN Ereignisse in die Spielschleife.

Erstellen Sie einen Ereignishandler für die Mauseingaben. Wenn ein Spieler die Maustaste drückt, aktualisieren Sie die Position des Charakters auf die aktuelle Mausposition. Das Programm ignoriert das Loslassen der Maustaste, da es in diesem Fall nichts unternehmen muss.

# Die Spielschleife
läuft = WAHR

während Betrieb:
# Nach Ereignissen suchen
für Fall In pygame.event.get():
Wenn event.type == Pygame. AUFHÖREN:
läuft = FALSCH
# Auf Mauseingaben prüfen
elf event.type == Pygame. MAUSTASTE NACH UNTEN:
Maus_x, Maus_y = event.pos
spieler_pos[0] = Maus_x
spieler_pos[1] = Maus_y
elf event.type == Pygame. MAUSTASTE NACH OBEN:
passieren

screen.fill ((0, 0, 0))

# Zeichne den Spieler
screen.blit (player, player_pos)

# Aktualisieren Sie die Anzeige
pygame.display.update()

Sie können dem Ereignishandler auch zusätzliche Logik hinzufügen, damit sich der Player als Reaktion auf die Mauseingabe bewegt.

Finger-Touch-Eingaben für Spielerbewegungen

Zusätzlich zu Mauseingaben können Sie auch Fingerberührungseingaben hinzufügen. Dazu müssen Sie einen Ereignishandler für die Fingereingaben hinzufügen.

Ergänzen Sie die Pygame. FINGER NACH UNTEN Und Pygame. FINGERHOCH Ereignisse zur Spielschleife:

# Die Spielschleife
läuft = WAHR

während Betrieb:
# Nach Ereignissen suchen
für Fall In pygame.event.get():
Wenn event.type == Pygame. AUFHÖREN:
läuft = FALSCH
# Auf Mauseingaben prüfen
elf event.type == Pygame. MAUSTASTE NACH UNTEN:
Maus_x, Maus_y = event.pos
spieler_pos[0] = Maus_x
spieler_pos[1] = Maus_y
elf event.type == Pygame. MAUSTASTE NACH OBEN:
passieren
# Auf Fingereingaben prüfen
elf event.type == Pygame. FINGER NACH UNTEN:
finger_x, finger_y = event.pos
spieler_pos[0] = finger_x
spieler_pos[1] = finger_y
elf event.type == Pygame. FINGER OBEN:
passieren

screen.fill ((0, 0, 0))

# Zeichne den Spieler
screen.blit (player, player_pos)

# Aktualisieren Sie die Anzeige
pygame.display.update()

Beachten Sie, wie ähnlich dies dem Ereignishandler für Mauseingaben ist. Dieser Ereignishandler aktualisiert die Position des Charakters, wenn der Spieler seinen Finger auf den Bildschirm drückt. Wenn sie ihren Finger loslassen, passiert nichts. Auf diese Weise können Sie ein Spiel erstellen, das Sie sowohl mit der Maus als auch mit Fingereingaben steuern können. Denken Sie daran, dass Sie auch andere Ereignisse verwenden können, z Pygame. FINGERBEWEGUNG auf Fingerbewegung reagieren.

Zusätzliche Touch-Funktionen von Pygame

Wenn die grundlegenden Touch-Funktionen vorhanden sind, können Sie damit beginnen, erweiterte Funktionen hinzuzufügen. PyGame verfügt über einige integrierte Funktionen, mit denen Sie Ihrem Spiel weitere Touch-Funktionen hinzufügen können.

Das erste Merkmal ist die pygame.mouse.set_visible() Funktion. Mit dieser Funktion können Sie den Mauszeiger ausblenden. Dies kann nützlich sein, wenn Sie ein Spiel erstellen möchten, das nur Berührungseingaben und nicht die Maus verwendet.

Hier ist ein Beispiel für die Verwendung von set_visible() Funktion:

pygame.mouse.set_visible(FALSCH)

Der pygame.mouse.set_pos() Funktion setzt den Mauszeiger auf eine bestimmte Position auf dem Bildschirm. Dies ist nützlich, wenn Sie die Maus an eine bestimmte Stelle bewegen möchten, ohne die Mauseingaben zu verwenden.

Nachfolgend finden Sie ein Beispiel für die Verwendung von set_pos() Funktion:

pygame.mouse.set_pos(200, 200)

Du kannst den... benutzen pygame.mouse.get_rel() Funktion, um die relative Bewegung der Maus zu erhalten. Sie können dies verwenden, um festzustellen, wie weit sich die Maus seit dem letzten Mausereignis bewegt hat.

So können Sie die verwenden get_rel() Funktion:

dx, dy = pygame.mouse.get_rel()

Schließlich können Sie die verwenden pygame.mouse.get_pressed() Funktion, um zu überprüfen, ob der Spieler eine Maustaste drückt. Dies kann nützlich sein, wenn Sie Spiele mit Maus-/Touch-Steuerung erstellen.

Nachfolgend finden Sie ein Beispiel für die Verwendung von get_pressed() Funktion:

mouse_buttons = pygame.mouse.get_pressed()

PyGame bietet auch eine MAUSRAD Ereignistyp, mit dem Sie Mausrad-Scrolls erkennen können. Es unterstützt sowohl vertikale als auch horizontale Bildläufe.

Hier ist ein Beispiel:

für Fall In pygame.event.get():
Wenn event.type == Pygame. MAUSRAD:
Wenn event.y > 0:
drucken("Mausrad nach oben gescrollt")
elf event.y < 0:
drucken("Mausrad nach unten gescrollt")

Erstellen Sie interaktive Spiele mit Touch-Eingaben

Mit den Touch-Eingaben können Sie jetzt interaktive Spiele erstellen. Sie können beispielsweise ein Spiel erstellen, bei dem sich der Spieler mithilfe von Berührungseingaben auf dem Bildschirm bewegen kann. Sie können auch gestenbasierte Spiele erstellen, bei denen der Spieler verschiedene Gesten ausführen kann, um Aktionen im Spiel auszulösen.

Die Möglichkeiten sind endlos, wenn es darum geht, Spiele mit Berührungseingaben zu erstellen. Mit Hilfe von PyGame können Sie Spiele erstellen, die Spaß machen und interaktiv sind. Also geh raus und fange an zu kreieren!