In diesem Tutorial erfahren Sie, wie Sie Spielergebnisse in Pygame, einer beliebten Python-Bibliothek für die Spieleentwicklung, anzeigen und aktualisieren. Am Ende werden Sie in der Lage sein, ein einfaches Jumper-Spiel zu erstellen und die Punktzahl des Spielers auf dem Bildschirm anzuzeigen, während er fortschreitet. Das Spiel verfolgt Tastatureingaben, sodass Sie den Spieler mit den Pfeiltasten nach links und rechts bewegen können.
Erstellen eines einfachen Spiels
Bevor Sie Spielstände in Pygame anzeigen und aktualisieren können, müssen Sie zunächst ein Spiel erstellen, mit dem Sie arbeiten können. In diesem Tutorial erstellen Sie ein einfaches Spiel, bei dem sich ein Spieler nach links oder rechts bewegen kann. Aber vorher hättest du es tun sollen pip auf Ihrem Gerät installiert. Führen Sie nach der Installation von pip den folgenden Befehl aus, um das Pygame-Modul zu installieren:
Pip Installieren Pygame
Importieren Sie zu Beginn die erforderlichen Module und richten Sie die Grundstruktur des Spiels ein:
importieren Pygame, sys
pygame.init()# Richten Sie das Fenster ein
screen = pygame.display.set_mode((750, 450))# Richten Sie die Spieluhr ein
Uhr = pygame.time. Uhr()# Richten Sie den Spielercharakter ein
Spieler = Pygame. Rechteck(100, 200, 50, 50)# Baue das Hindernis auf
Hindernis = Pygame. Rechteck(200, 200, 50, 50)# Richten Sie die Spielschleife ein
währendWAHR:
# Ereignisse behandeln
für Fall In pygame.event.get():
Wenn event.type == Pygame. AUFHÖREN:
pygame.quit()
sys.exit()Wenn event.type == Pygame. TASTE NACH UNTEN:
Wenn event.key == Pygame. K_LINKS:
Spieler.x -= 10
elf event.key == Pygame. K_RECHTS:
Spieler.x += 10
# Aktualisieren Sie den Spielstatus
# Zeichne das Spiel
screen.fill ((0, 0, 0))
pygame.draw.rect (Bildschirm, (255, 0, 0), Spieler)
pygame.draw.rect (Bildschirm, (0, 255, 0), Hindernis)
# Aktualisieren Sie die Anzeige
pygame.display.flip()
# Begrenzen Sie die Bildrate
Uhr.Tick (60)
Mit diesem Skelettcode ist Ihr Grundspiel spielbar. Drücken Sie nach links oder rechts, um den Spielercharakter zu bewegen, der durch das rote Quadrat dargestellt wird.
Anzeigen und Aktualisieren des Spielstands
Nachdem Sie nun ein grundlegendes Spiel eingerichtet haben, fügen Sie ein Bewertungssystem hinzu und zeigen Sie die Punktzahl auf dem Bildschirm an.
Einrichten von Pygame für das Rendern von Text
Um Text in Pygame anzuzeigen, müssen wir zunächst die erforderlichen Module importieren und das Schriftartmodul initialisieren. Verwenden Sie dazu den folgenden Code am Anfang Ihres Skripts:
importieren Pygame
importieren sys
importieren os
pygame.init()
pygame.font.init()
Mit dem Modul pygame.font können Sie die Textwiedergabefunktionen von Pygame verwenden, und die Funktion pygame.init() initialisiert das Schriftartmodul.
Erstellen eines grundlegenden Bewertungssystems
Erstellen Sie als Nächstes ein grundlegendes Bewertungssystem für Ihr Spiel. Deklarieren und initialisieren Sie dazu zwei Variablen: score und score_increment. Die score-Variable verfolgt die aktuelle Punktzahl des Spielers, und die score_increment-Variable gibt an, um wie viel die Punktzahl jedes Mal steigen soll, wenn der Spieler ein Hindernis berührt.
Fügen Sie den folgenden Code oben in Ihrem Skript unter den Importen hinzu:
Punktzahl = 0
score_increment = 10
Aktualisieren Sie als Nächstes die Punktzahl im Verlauf des Spiels. In der Spielschleife können Sie überprüfen, ob die Spielerfigur mit dem Hindernis kollidiert. Wenn dies der Fall ist, erhöhen Sie die Punktzahl um den Betrag, der in der Variable score_increment angegeben ist.
Aktualisieren Sie die Spielschleife, um den folgenden Code einzuschließen:
# Aktualisieren Sie den Spielstatus
Wenn player.colliderect (Hindernis):
score += score_inkrement
Dieser Code prüft, ob der Spielercharakter mit dem Hindernis kollidiert. Wenn dies der Fall ist, wird die Punktzahl um den angegebenen Betrag erhöht.
Anzeigen der Partitur auf dem Bildschirm mit dem Font-Modul
Nachdem wir nun ein grundlegendes Bewertungssystem eingerichtet haben, lassen Sie uns die Punktzahl mit dem Schriftartmodul auf dem Bildschirm anzeigen.
Lassen Sie uns zunächst das Schriftartobjekt einrichten, indem Sie den folgenden Code am Anfang der Spielschleife hinzufügen:
# Richten Sie das Schriftartobjekt ein
font = pygame.font. Schriftart(Keiner, 36)
Dieser Code erstellt ein Schriftobjekt mit einer Größe von 36 Pixeln und ohne festgelegte Schriftfamilie. Sie können Schriftart und Schriftgröße anpassen, indem Sie in der Funktion Font() eine andere Schriftartdatei und -größe angeben.
Lassen Sie uns als Nächstes die Partitur auf den Bildschirm zeichnen. Fügen Sie der Spielschleife den folgenden Code hinzu, nachdem Sie den Spielstatus aktualisiert und den Bildschirm gefüllt haben:
# Zeichne die Partitur auf den Bildschirm
score_text = font.render(f'Score: {Punktzahl}', WAHR, (255, 255, 255))
screen.blit (score_text, (10, 10))
Dieser Code verwendet die render()-Methode des Font-Objekts, um eine Textoberfläche zu erstellen, die die Partitur enthält, und blendet (zeichnet) dann die Textoberfläche auf dem Bildschirm an der Position (10, 10) ein.
Anpassen des Erscheinungsbilds des Partiturtexts
Passen Sie abschließend das Erscheinungsbild des Partiturtexts an, indem Sie eine Schriftart und -größe auswählen und die Textfarbe ändern.
Um eine bestimmte Schriftart und Schriftgröße auszuwählen, übergeben Sie die Schriftartdatei und -größe als Argumente an die Funktion Font():
font = pygame.font. Schriftart('arial.ttf', 48)
Sie können leicht Laden Sie verschiedene Schriftartdateien herunter aus dem Internet. Legen Sie die Schriftartdatei nach dem Herunterladen einfach im Stammverzeichnis Ihres Arbeitsverzeichnisses ab.
Um die Farbe des Textes zu ändern, übergeben Sie ein Farbtupel als drittes Argument an die Methode render():
score_text = font.render(f'Score: {Punktzahl}', WAHR, (0, 255, 0))
Und das ist es! Mit diesen Änderungen sollten Sie jetzt über ein voll funktionsfähiges Spielpunktzahlsystem verfügen, das die Punktzahl auf dem Bildschirm anzeigt und aktualisiert, während der Spieler das Spiel durchläuft. Sie können das Erscheinungsbild des Partiturtexts weiter anpassen, indem Sie mit verschiedenen Schriftfamilien, -größen und -farben experimentieren.
Ergebnisverfolgung im Spiel
Unten ist der vollständige Arbeitscode, Sie können den Code auch dazu finden GitHub Repo.
importieren Pygame
importieren ospygame.init()
pygame.font.init()Punktzahl = 0
score_increment = 10# Richten Sie das Fenster ein
screen = pygame.display.set_mode((750, 450))# Richten Sie die Spieluhr ein
Uhr = pygame.time. Uhr()# Richten Sie den Spielercharakter ein
Spieler = Pygame. Rechteck(100, 200, 50, 50)# Baue das Hindernis auf
Hindernis = Pygame. Rechteck(200, 200, 50, 50)# Richten Sie die Spielschleife ein
währendWAHR:
font = pygame.font. Schriftart(Keiner, 36)
# Ereignisse behandeln
für Fall In pygame.event.get():
Wenn event.type == Pygame. AUFHÖREN:
pygame.quit()
sys.exit()
Wenn event.type == Pygame. TASTE NACH UNTEN:
Wenn event.key == Pygame. K_LINKS:
Spieler.x -= 10
elf event.key == Pygame. K_RECHTS:
Spieler.x += 10
# Aktualisieren Sie den Spielstatus
Wenn player.colliderect (Hindernis):
score += score_inkrement
# Zeichne das Spiel
screen.fill ((0, 0, 0))
pygame.draw.rect (Bildschirm, (255, 0, 0), Spieler)
pygame.draw.rect (Bildschirm, (0, 255, 0), Hindernis)
# Zeichne die Partitur auf den Bildschirm
score_text = font.render(f'Score: {Punktzahl}', WAHR, (255, 255, 255))
screen.blit (score_text, (10, 10))
# Aktualisieren Sie die Anzeige
pygame.display.flip()
# Begrenzen Sie die Bildrate
Uhr.Tick (60)
Dieser Code erstellt ein Fenster mit einer Größe von 750 x 450 Pixel, einer Spielerfigur und einem Hindernis. Es verwendet eine Spielschleife, um Ereignisse zu verarbeiten, den Status zu aktualisieren und das Spiel auf den Bildschirm zu zeichnen. Es enthält auch ein Punktesystem, das die Punktzahl jedes Mal um zehn Punkte erhöht, wenn der Spielercharakter verwendet wird mit dem Hindernis kollidiert, und ein Schriftobjekt und ein Textwiedergabecode, um die Punktzahl auf dem Bildschirm anzuzeigen.
Im Abschnitt zur Ereignisbehandlung enthält der Code auch Funktionen zum Bewegen des Spielercharakters nach links und rechts mit den Pfeiltasten.
Die Spielschleife enthält Code zum Aktualisieren der Anzeige und zum Begrenzen der Bildrate auf 60 FPS, um sicherzustellen, dass das Spiel reibungslos läuft.
Insgesamt bietet dieser Code ein grundlegendes Beispiel dafür, wie Spielergebnisse in Pygame angezeigt und aktualisiert werden, und kann weiter angepasst und erweitert werden, um komplexere und ansprechendere Spiele zu erstellen.
Erstellen Sie verschiedene Spiele mit Pygame
Pygame ist eine leistungsstarke und benutzerfreundliche Bibliothek zum Erstellen von Spielen in Python. Mit seinen zahlreichen Funktionen und Möglichkeiten können Sie eine breite Palette von Spielen erstellen, von einfachen Spring- und Plattformspielen bis hin zu komplexeren und fesselnden Spielen.
Egal, ob Sie ein Anfänger oder ein erfahrener Spieleentwickler sind, Pygame ist eine ausgezeichnete Wahl, um ansprechende und unterhaltsame Spiele zu erstellen.