Das Reagieren auf Eingaben ist für jedes Spiel von entscheidender Bedeutung, und es ist gut, die Tastatur für Benutzer zu unterstützen, die sie bevorzugen. Finden Sie mit der Arcade-Bibliothek von Python heraus, wie das geht.

Die Tastatureingabe ist ein wesentlicher Bestandteil der Spieleentwicklung, und es ist entscheidend, sie effektiv zu handhaben, um eine großartige Benutzererfahrung zu bieten. Die Arcade-Bibliothek bietet eine unkomplizierte und effiziente Möglichkeit, Tastatureingaben in Ihren Python-Spielen zu verarbeiten.

Erstellen eines einfachen Spiels mit einem Spieler

Den vollständigen Code findet ihr in dieses GitHub-Repository.

Bevor Sie sich mit der Handhabung von Tastatureingaben befassen, stellen Sie sicher, dass Sie dies getan haben pip auf Ihrem Gerät installiert. Verwenden Sie diesen Befehl, um die Arcade-Bibliothek zu installieren:

Pip Arcade installieren

Erstellen Sie danach das Skelett eines einfachen Spiels:

importieren Arkade

SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480

KlasseMein Spiel(Arkade. Fenster):

instagram viewer

def__drin__(Selbst, Breite, Höhe):
super().__init__(Breite, Höhe, "Mein Spiel")
arcade.set_background_color (arcade.color. WEISS)

defon_draw(selbst):
arcade.start_render()

defaktualisieren(selbst, delta_time):
passieren

Mein Spiel (SCREEN_WIDTH, SCREEN_HEIGHT)
arcade.run()

Dadurch wird ein Fenster mit weißem Hintergrund erstellt. Fügen Sie als Nächstes einen Spieler zu Ihrem Spiel hinzu:

KlasseSpieler:
def__drin__(selbst, x, y):
selbst.x = x
self.y = y
self.speed = 5
self.radius = 20

defziehen(selbst):
arcade.draw_circle_filled (self.x, self.y, self.radius, arcade.color. BLAU)

defgeh nach links(selbst):
self.x -= self.speed

defnach rechts bewegen(selbst):
self.x += self.speed

defmove_up(selbst):
self.y += self.speed

defsich abwärts bewegen(selbst):
self.y -= self.speed

Dadurch entsteht ein einfacher Player mit einem blauen Kreis. Sie können diesen Spieler zu Ihrem Spiel hinzufügen, indem Sie die ändern Mein Spiel Klasse:

importieren Arkade

SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480

KlasseMein Spiel(Arkade. Fenster):
def__drin__(Selbst, Breite, Höhe):
super().__init__(Breite, Höhe, "Mein Spiel")
arcade.set_background_color (arcade.color. WEISS)
self.player = Spieler (SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2)

defon_draw(selbst):
arcade.start_render()
self.player.draw()

defaktualisieren(selbst, delta_time):
passieren

defhauptsächlich():
Mein Spiel (SCREEN_WIDTH, SCREEN_HEIGHT)
arcade.run()

Wenn __name__ == "__hauptsächlich__":
hauptsächlich()

Jetzt haben Sie einen Spieler in Ihrem Spiel, den Sie auf den Bildschirm zeichnen können.

Reagieren auf Tastendrücke und -freigaben

Um auf Benutzereingaben in Ihrem Spiel zu reagieren, müssen Sie Tastendrücke und -freigaben verarbeiten. Die Arcade-Bibliothek bietet zwei Methoden zur Behandlung dieser Ereignisse: on_key_press Und on_key_release.

Um diese Methoden verwenden zu können, müssen Sie sie in Ihrer definieren Arkade. Fenster Unterklasse. Wenn der Spieler eine Taste drückt oder loslässt, führt Arcade die entsprechende Methode aus und übergibt ihr zwei Argumente: Taste und Modifikatoren. Taste ist eine Ganzzahl, die den Tastencode der gedrückten oder losgelassenen Taste darstellt. Modifikatoren ist ein Bitfeld, das alle Modifikatortasten darstellt, die der Spieler auch gedrückt hat, wie Shift oder Control.

Hier ist ein Beispiel dafür, wie Sie in Ihrem Spiel auf einen Tastendruck reagieren:

KlasseMein Spiel(Arkade. Fenster):
defon_key_press(Selbst, Schlüssel, Modifikatoren):
Wenn Schlüssel == arcade.Schlüssel. LINKS:
# Spieler nach links bewegen
elf Schlüssel == arcade.Schlüssel. RECHTS:
# Spieler nach rechts bewegen
elf Schlüssel == arcade.Schlüssel. HOCH:
# Spieler nach oben bewegen
elf Schlüssel == arcade.Schlüssel. RUNTER:
# Spieler nach unten bewegen

Um auf Tastenfreigaben zu reagieren, können Sie die definieren on_key_release Methode auf die gleiche Weise:

KlasseMein Spiel(Arkade. Fenster):
defon_key_release(Selbst, Schlüssel, Modifikatoren):
Wenn Schlüssel == arcade.Schlüssel. LINKS:
# Hör auf, den Spieler nach links zu bewegen
elf Schlüssel == arcade.Schlüssel. RECHTS:
# Hör auf, den Spieler nach rechts zu bewegen
elf Schlüssel == arcade.Schlüssel. HOCH:
# Hör auf, den Spieler nach oben zu bewegen
elf Schlüssel == arcade.Schlüssel. RUNTER:
# Hör auf, den Spieler nach unten zu bewegen

Es ist wichtig, diese Erfassung zu beachten Benutzereingaben in Pygame erfordert eine manuelle Ereignisprüfung innerhalb Ihrer Spielschleife. Andererseits ruft die Arcade-Bibliothek automatisch relevante Methoden auf, wenn der Spieler eine Taste drückt oder loslässt. Das bedeutet, dass Sie in Ihrer Spielschleife nicht manuell nach wichtigen Ereignissen suchen müssen, was Ihnen den Ärger mit zusätzlichem Code erspart.

Anpassen der Handhabung von Tastatureingaben an die Anforderungen Ihres Spiels

Die Arcade-Bibliothek bietet viele Möglichkeiten, die Tastatureingabe anzupassen. Möglicherweise möchten Sie die Tastenbelegungen für Ihr Spiel ändern oder dem Spieler erlauben, seine eigenen Tastenbelegungen anzupassen.

Sie können dies tun, indem Sie ein Wörterbuch definieren key_map die jeden Schlüssel der entsprechenden Methode des Player-Objekts zuordnet. Damit der Spieler seine Tastenkombinationen anpassen kann, könnten Sie ein Einstellungsmenü hinzufügen, das die ändert key_map Wörterbuch basierend auf den Vorlieben des Spielers.

Hier ist ein Beispiel:

KlasseMein Spiel(Arkade. Fenster):
def__drin__(Selbst, Breite, Höhe, Titel):
super().__init__(Breite, Höhe, Titel)
self.player = Spieler(100, 100)

self.key_map = {
arcade.key. LINKS: self.player.move_left,
arcade.key. RECHTS: self.player.move_right,
arcade.key. NACH OBEN: self.player.move_up,
arcade.key. RUNTER: self.player.move_down
}

defon_key_press(Selbst, Schlüssel, Modifikatoren):
Wenn Taste In self.key_map:
self.key_map[Schlüssel]()

defon_key_release(Selbst, Schlüssel, Modifikatoren):
Wenn Taste In self.key_map:
self.key_map[Taste + 1]()

Reagieren Sie in Echtzeit auf Benutzereingaben

Die Reaktion auf Benutzereingaben in Echtzeit ist ein wesentlicher Aspekt bei der Erstellung eines fesselnden Spiels. Indem Sie sich die Zeit nehmen, Tastatureingaben in Ihrem Spiel richtig zu handhaben, können Sie ein fesselnderes und ansprechenderes schaffen ein immersives Erlebnis für Ihre Spieler und heben Sie Ihr Spiel letztendlich von der Masse ab Marktplatz.