In diesem Artikel erfahren Sie, wie Sie Pygame, eine Spieleentwicklungsbibliothek, herunterladen und installieren, und wir führen ein einfaches Beispielprojekt aus, um sich mit Pygame vertraut zu machen.
Link zum Herunterladen des Projektcodes: https://github.com/la-vie-est-belle/pygame_codes
Pygame unter Windows installieren
Öffnen Sie ein Befehlszeilenfenster, geben Sie den Befehl pip install pygame ein und drücken Sie anschließend die Eingabetaste. Wenn am Ende die Meldung „Pygame erfolgreich installiert“ angezeigt wird, bedeutet dies, dass Pygame erfolgreich installiert wurde.
Hinweis: Die in diesem Tutorial verwendete Version von Pygame ist 2.6.0.
Natürlich müssen wir auch überprüfen, ob Pygame ordnungsgemäß funktioniert. Öffnen Sie das Befehlszeilenfenster, geben Sie python ein und drücken Sie die Eingabetaste, um die Python-Befehlszeilenschnittstelle aufzurufen. Geben Sie dann import pygame ein. Wenn die Willkommensnachricht von Pygame erscheint, bedeutet dies, dass die Installation erfolgreich war und Pygame normal verwendet werden kann.
Pygame unter MacOS installieren
Öffnen Sie auf ähnliche Weise ein Terminal, geben Sie pip3 install pygame ein und drücken Sie die Eingabetaste, um Pygame zu installieren. Die Verifizierungsmethode ist die gleiche wie oben und wird hier nicht wiederholt.
Öffnen Sie ein Befehlszeilenfenster und führen Sie den Befehl python -m pygame.examples.aliens aus, um das integrierte Alien-Spiel zu starten, das mit Pygame geliefert wird. Die Steuerelemente lauten wie folgt:
In den kommenden Praxisartikeln werden wir dieses Alien-Spiel gemeinsam entwickeln und umsetzen. Schauen wir uns zunächst diesen einfachen Pygame-Beispielcode 1-1 an.
import sys import pygame pygame.init() # 1 screen = pygame.display.set_mode((1100, 600)) # 2 pygame.display.set_caption('Dino Runner') # 3 icon = pygame.image.load('icon.png') # 4 pygame.display.set_icon(icon) dino = pygame.image.load('dino_start.png') # 5 dino_rect = dino.get_rect() dino_rect.topleft = (80, 300) while True: # 6 for event in pygame.event.get(): # 7 if event.type == pygame.QUIT: pygame.quit() sys.exit() screen.fill((255, 255, 255)) # 8 screen.blit(dino, dino_rect) # 9 pygame.display.flip() # 10
Das Ergebnis ist wie folgt:
Code-Erklärung:
#1 pygame.init() initialisiert alle Module in der Pygame-Bibliothek. Diese Zeile muss eingefügt werden, bevor Pygame-Funktionen oder -Klassen verwendet werden.
#2 Rufen Sie die Funktion pygame.display.set_mode() auf, um die Größe des Spielfensters festzulegen (Größe wird als Tupel übergeben). Diese Funktion gibt ein Fensterobjekt zurück, das in der Variablen screen gespeichert wird. Mit diesem Objekt können Sie Grafiken zeichnen, Bilder und Text zum Fenster hinzufügen. Das Modul pygame.display dient der Fensterverwaltung und Bildschirmanzeige.
#3 Verwenden Sie die Funktion pygame.display.set_caption(), um den Fenstertitel festzulegen.
#4 Verwenden Sie die Funktion pygame.image.load(), um ein Bild zu laden, in diesem Fall das Fenstersymbol. Diese Funktion gibt ein Bildobjekt zurück, das in der Symbolvariablen gespeichert wird. Als nächstes verwenden Sie die Funktion pygame.display.set_icon(), um das Fenstersymbol festzulegen.
#5 Laden Sie das Bild der Hauptfigur und rufen Sie get_rect() auf, um den Rechteckbereich des Figurenbilds (ein Rect-Objekt) zu erhalten, und legen Sie die obere linke Ecke oben links dieses Rechtecks auf fest Bildschirmposition.
Hinweis: Der Ursprung der Bildschirmkoordinaten liegt in der oberen linken Ecke, wobei die X-Achse nach rechts und die Y-Achse nach unten verläuft. Das Koordinatensystem in Pygame wird in späteren Kapiteln ausführlich erläutert.
#6 Geben Sie eine Spielschleife ein, in der Pygame kontinuierlich Benutzereingaben erkennt und verarbeitet, Spielzustände aktualisiert oder Bildschirminhalte aktualisiert.
#7 Verwenden Sie pygame.event.get(), um eine Ereigniswarteschlange abzurufen. In der for-Schleife lesen und verarbeiten wir jedes Ereignis. Wenn der Ereignistyp event.type pygame.QUIT ist (d. h. das Fenster schließen), rufen Sie pygame.quit() auf, um das Spiel zu beenden. sys.exit() beendet das aktuelle Python-Programm, bereinigt es und beendet den Thread, der das Pygame-Programm ausführt.
#8 Rufen Sie die Funktion fill() des Fensterobjekts screen auf, um das Fenster mit einer Farbe zu füllen. Sie übergeben ein Tupel, das die RGB-Werte der Farbe darstellt, in diesem Fall Weiß.
#9 Rufen Sie die Funktion blit() des Fensterobjekts screen auf, um das Zeichenbild auf dem Bildschirm anzuzeigen, wobei die Position durch das zuvor festgelegte Rechteck dino_rect definiert ist. Sie können blit() auch ein Koordinatentupel (x, y) übergeben, um die Position des Zeichens auf dem Bildschirm festzulegen, wie zum Beispiel:
screen.blit(dino, (80, 300))
#10 Rufen Sie die Funktion pygame.display.flip() auf, um den Bildschirminhalt zu aktualisieren. Sie können auch pygame.display.update() verwenden, um den gleichen Effekt zu erzielen. Letzterer kann auch einen rechteckigen Bereich akzeptieren, um nur diesen Teil des Bildschirms zu aktualisieren. Die folgende Zeile aktualisiert beispielsweise nur ein Rechteck mit der oberen linken Ecke bei (0, 0) und einer Breite und Höhe von 350 Pixeln.
pygame.display.update((0, 0, 350, 350))
In diesem Artikel haben wir gelernt, wie man Pygame unter Windows und MacOS installiert, und einen einfachen Beispielcode untersucht, um die Grundstruktur, die Betriebsprinzipien und einige allgemeine Funktionen von Pygame zu verstehen. Wenn Sie Teile nicht vollständig verstehen, können Sie diese vorerst belassen. Spätere Kapitel können zur Klärung dieser Konzepte beitragen.
Laden Sie dem Autor eine Tasse Kaffee ein, wenn Ihnen dieses Tutorial gefallen hat. :)
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3