Bringen Sie Ihren Hauptcharakter mit den Tastatur- und Mausereignissen der Arcade-Bibliothek als Reaktion auf Spielereingaben in Bewegung.
Arcade ist eine beliebte Python-Bibliothek, mit der Sie 2D-Arcade-Spiele erstellen können. Es ist eine benutzerfreundliche Bibliothek, die ein einfaches Framework zum Erstellen von Spielen mit Python bietet.
Eine der wesentlichen Komponenten eines jeden Spiels ist die Spielerbewegung.
Erstellen eines einfachen Spiels in Arcade
Sie finden das komplette Code in diesem GitHub-Repo.
Bevor Sie beginnen, vergewissern Sie sich, dass Sie dies getan haben pip auf Ihrem Gerät installiert. Verwenden Sie diesen Befehl, um die Arcade-Bibliothek zu installieren:
Pip-Installationsbibliothek
Erstellen Sie danach eine Player-Klasse als Unterklasse der Arkade. Sprit Klasse und ein Mein Spiel Klasse als Unterklasse von Arkade. Fenster. Der Mein Spiel -Klasse verfügt über Methoden zum Einrichten der Spielobjekte, zum Rendern auf dem Bildschirm, zum Aktualisieren des Spielstatus und zum Verarbeiten von Benutzereingaben. Der Code zum Erstellen des Spielbildschirms und des Spielerobjekts lautet wie folgt:
importieren Arkade
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600KlasseSpieler(Arkade. Sprite):
def__drin__(selbst):
super().__init__("player.png", 0.5)
self.center_x = SCREEN_WIDTH // 2
self.center_y = SCREEN_HEIGHT // 2KlasseMein Spiel(Arkade. Fenster):
def__drin__(selbst):
super().__init__(SCREEN_WIDTH, SCREEN_HEIGHT, "Mein Spiel")
self.player = Keiner
arcade.set_background_color (arcade.color. SCHWARZ)defaufstellen(selbst):
self.player = Spieler()defon_draw(selbst):
arcade.start_render()
self.player.draw()defaktualisieren(selbst, delta_time):
passieren
MeinSpiel().run()
Hinzufügen von Spielerbewegungen mit Tastatureingaben
Nachdem Sie nun den Spielbildschirm und das Spielerobjekt erstellt haben, können Sie den Spieler als Reaktion auf Tastatureingaben bewegen. Definiere das on_key_press() Und on_key_release() Methoden, die Sie aufrufen, wenn der Player eine Taste drückt oder loslässt.
defon_key_press(Selbst, Schlüssel, Modifikatoren):
Wenn Schlüssel == arcade.Schlüssel. LINKS:
self.player.change_x = -5
elf Schlüssel == arcade.Schlüssel. RECHTS:
self.player.change_x = 5
elf Schlüssel == arcade.Schlüssel. HOCH:
self.player.change_y = 5
elf Schlüssel == arcade.Schlüssel. RUNTER:
self.player.change_y = -5
defon_key_release(Selbst, Schlüssel, Modifikatoren):
Wenn Schlüssel == arcade.Schlüssel. LINKS oder Schlüssel == arcade.Schlüssel. RECHTS:
self.player.change_x = 0
elf Schlüssel == arcade.Schlüssel. HOCH oder Schlüssel == arcade.Schlüssel. RUNTER:
self.player.change_y = 0
Wenn Sie Spielerbewegungen mit Tastatureingaben hinzufügen, können Sie die Bewegungsgeschwindigkeit anpassen, indem Sie den zugewiesenen Wert ändern self.player.change_x Und self.player.change_y. Sie können auch Bedingungen hinzufügen, um die Spielerbewegung innerhalb des Spielbildschirms einzuschränken.
Hinzufügen von Spielerbewegungen mit Mauseingabe
Zusätzlich zu Tastatureingaben können Sie Spielerbewegungen auch per Mauseingabe hinzufügen. Definiere das on_mouse_motion() -Methode, die ausgeführt wird, wenn der Spieler die Maus bewegt. Legen Sie innerhalb der Methode die Mitte_x Und center_y Eigenschaften des Player-Objekts an die aktuelle Mausposition.
defon_mouse_motion(selbst, x, y, dx, dy):
self.player.center_x = x
self.player.center_y = y
Wenn Sie Spielerbewegungen mit Mauseingaben hinzufügen, können Sie das Verhalten des Spielerobjekts anpassen, wenn der Benutzer klickt oder seine Maus gedrückt hält, indem Sie Methoden wie z on_mouse_press() oder on_mouse_drag(). Sie können diese Methoden verwenden, um je nach Spielmechanik Spieleraktionen wie Schießen oder Springen auszulösen.
Einführung zusätzlicher Funktionen
Sie können die Spielerbewegung weiter verbessern, indem Sie Beschleunigung und Verzögerung berücksichtigen. Modifiziere den on_key_press() Methode zum Subtrahieren oder Addieren von ändern_x Und ändern_y Eigenschaften des Spielerobjekts, abhängig von der Bewegungsrichtung. Setzen Sie auch die ändern_x Und ändern_y Eigenschaften auf 0 in der on_key_release() Methode, wie zuvor.
defon_key_press(Selbst, Schlüssel, Modifikatoren):
Wenn Schlüssel == arcade.Schlüssel. LINKS:
self.player.change_x -= 5
elf Schlüssel == arcade.Schlüssel. RECHTS:
self.player.change_x += 5
elf Schlüssel == arcade.Schlüssel. HOCH:
self.player.change_y += 5
elf Schlüssel == arcade.Schlüssel. RUNTER:
self.player.change_y -= 5
defon_key_release(Selbst, Schlüssel, Modifikatoren):
Wenn Schlüssel == arcade.Schlüssel. LINKS oder Schlüssel == arcade.Schlüssel. RECHTS:
self.player.change_x = 0
elf Schlüssel == arcade.Schlüssel. HOCH oder Schlüssel == arcade.Schlüssel. RUNTER:
self.player.change_y = 0
Genau wie PyGame können Sie das auch Fügen Sie eine Kollisionserkennung zwischen dem Player-Objekt hinzu und andere Spielobjekte, wie Feinde oder Hindernisse in Arcade. Sie können dies erreichen, indem Sie den folgenden Code zu der hinzufügen aktualisieren() Methode der Mein Spiel Klasse:
defaktualisieren(selbst, delta_time):
self.player.update()# Auf Kollisionen zwischen Spieler und anderen Spielobjekten prüfen
Collisions = arcade.check_for_collision_with_list (self.player, self.enemy_list)
für Kollision In Kollisionen:
kollision.kill()
Machen Sie fesselnde Spiele mit interaktiver Spielerbewegung
Interaktive Spielerbewegungen sind ein entscheidender Aspekt jedes fesselnden Spiels. Der Einsatz verschiedener Arten von Bewegungsmechaniken wie Springen, Laufen, Fliegen und Rutschen kann das Spiel abwechslungsreich und spannend machen.
Den Spielern die Kontrolle über ihre Bewegungen zu geben, fügt ein Gefühl von Entscheidungsfreiheit und Eintauchen hinzu, was zu einem zufriedenstellenderen Spielerlebnis führen kann.