
Python ist als eine der neuesten freundlichen und flexiblen Programmiersprachen bekannt. Aber während Python ein einzigartiges Onboarding-Erlebnis für die am wenigsten erfahrenen Programmieranfänger bietet, ist es wirklich mehr verwirrend, auf andere Weise zu verstehen. Python ist so flexibel, dass man nicht sofort sieht, was man damit machen kann.
Sie können zum Beispiel eine Menge Anweisungen lesen und immer noch nicht verstehen, wie man ein Python-Spiel oder eine Web-App erstellt. In diesem Beitrag werden wir diskutieren, wie man ein einfaches Python-Spiel mit Pygame erstellt, der beliebten Auswahl an Modulen, die entwickelt wurden, um die einfache Spielerstellung zu erleichtern.
Was ist Pygame?
Eine Sache, die für neue Entwickler schwer zu verstehen sein kann, ist, dass Programmiersprachen selten in einem Vakuum existieren. Wann eine Android-App erstellen zum Beispiel verwenden Sie einfach nicht Java oder Kotlin (die beiden wichtigsten von Google unterstützten Programmiersprachen), sondern auch die Android SDK. Dies ist das „Software Development Kit“ und es verfügt über viele verschiedene Bibliotheken, Klassen und Tools, mit denen Java-Code auf Android funktioniert und ihm Zugriff auf Funktionen gewährt, die exklusiv für mobile Plattformen gelten.
Dasselbe gilt für Python. Das Erlernen von Python reicht nicht aus, um mit den meisten Dingen zu beginnen: Sie benötigen mehr Code, der von anderen Entwicklern bereitgestellt wird, damit die Programme funktionieren. In Python haben diese externen Tools normalerweise die Form von “Modulen”. Dies sind kleine Python-Programme, die nützliche Funktionen ausführen, die Ihre Produktion unterstützen können.

Pygame ist eine solche Sammlung von Modulen. Und wie der Name schon sagt, bietet Pygame viele Funktionen, die für die Spieleentwicklung nützlich sind. Das bedeutet Dinge wie das Zeichnen von Grafiken auf dem Bildschirm und das Abspielen von Sounds. Durch die Bereitstellung vorgefertigter Funktionen wie diesen kann Pygame einem Entwickler eine Menge Arbeit ersparen und den Prozess rationalisieren. Wenn Sie also fragen, wie man ein Python-Spiel erstellt, werden Ihnen die meisten Leute sagen, dass Sie Pygame verwenden sollen!
Als solche werden solche in umfassenderen Spielautomaten und IDEs verwendet Einheit könnte Pygame ein bisschen Barebones finden. Sie werden hier keine eingebaute Physik oder eine nette Drag-and-Drop-Oberfläche finden! Aber auch wenn es die Menge an Arbeit für Sie als Entwickler erhöhen kann, gibt es Ihnen auch die Freiheit, Ihrer Fantasie freien Lauf zu lassen und Ihr Spielprojekt von Grund auf neu anzugehen.
(Das ist eine gute Sache, ehrlich!)
Pygame wurde von Pete Shinners geschrieben und im Jahr 2000 veröffentlicht. Seitdem ist es ein Gemeinschaftsprojekt und wird derzeit unter der freien Open-Source-Software GNU Lesser General Public License veröffentlicht.
Wie erstelle ich ein Spiel in Python – Ein einfaches erstes Projekt
Ich werde meinen Ansatz in diesem Tutorial ein wenig ändern. Anstatt mit Ihnen durch ein Schritt-für-Schritt-Spiel zu sprechen, gebe ich Ihnen stattdessen den Code und dann erklären wir Ihnen, wie alles funktioniert.
Als Nächstes fügen Sie den folgenden Code ein. Hier ist eine, die ich vorher gemacht habe:
Code
import pygame
pygame.init()
win = pygame.display.set_mode((1280, 720))
pygame.display.set_caption("Squarey")
x = 100
y = 100
baddyX = 300
baddyY = 300
vel = 6
baddyVel = 4
run = True
def draw_game():
win.fill((0, 0, 0))
pygame.draw.rect(win, (0, 0, 255), (x, y, 20, 20))
pygame.draw.rect(win, (255, 0, 0), (baddyX, baddyY, 40, 40))
pygame.display.update()
while run:
pygame.time.delay(100)
if baddyX < x - 10: baddyX = baddyX + baddyVel drawGame() elif baddyX > x + 10:
drawGame()
baddyX = baddyX - baddyVel
elif baddyY < y - 10: baddyY = baddyY + baddyVel elif baddyY > y + 10:
baddyY = baddyY - baddyVel
else:
run = False
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
x -= vel
if keys[pygame.K_RIGHT]:
x += vel
if keys[pygame.K_UP]:
y -= vel
if keys[pygame.K_DOWN]:
y += vel
draw_game()
pygame.quit()
(In einer perfekten Welt würde ich das Schlangengehäuse für Koordinaten verwenden, aber ehrlich gesagt habe ich festgestellt, dass es schneller und klarer ist. Und wenn das für Sie keinen Sinn ergibt, machen Sie sich keine Sorgen!)
Drücken Sie Play und Sie sollten zu einem Spiel willkommen geheißen werden, mit dem Sie ein kleines grünes Quadrat um den Bildschirm herum steuern können, um einem roten Quadrat auszuweichen. Das ist eine spannende Sache!
Was bewirkt das alles?
Herzliche Glückwünsche! Sie haben gerade gelernt, wie man ein Spiel in Python erstellt! Nur dass Sie wahrscheinlich nicht wissen, was es kann oder warum wir es so gemacht haben, wie wir es getan haben. Also lass uns diesen Weg gehen, huh?

Pip wird verwendet, um die Module zu installieren
Zuerst haben wir das Pygame-Modul mit der Zeile importiert Pygame importieren. Es ist möglicherweise bereits auf Ihrem Computer vorhanden und wird wahrscheinlich standardmäßig in Ihrer Installation enthalten sein. Wenn dies nicht der Fall ist, können Sie es installieren im Pip. Wir müssen auch Pygame Priorität einräumen pygame.init (). Als Nächstes erstellen wir ein Fenster, um unser Spiel widerzuspiegeln. “Set_caption” gibt uns einen Titel für unser Spiel, der oben in diesem Fenster erscheint.
Code
import pygame
pygame.init()
win = pygame.display.set_mode((1280, 720))
pygame.display.set_caption("Squarey")
Im nächsten Abschnitt definieren wir eine Reihe von Variablen: Koordinaten für uns und den Bösewicht, eine Geschwindigkeit für uns und den Bösewicht und einen booleschen Wert (wahrer oder falscher Wert). ), der uns sagt, ob das Spiel läuft oder nicht . .
Code
x = 100
y = 100
baddyX = 300
baddyY = 300
vel = 6
baddyVel = 4
run = True
Es gibt eine kleine Funktion namens next Zeichen-Spiel ().Hier füllen wir zuerst den Bildschirm mit leerer Farbe (schwarz). Auf diese Weise können wir die Position unserer Charaktere verschieben, ohne eine Spur zu hinterlassen. Eine andere Möglichkeit besteht darin, die Zeichen in Schwarz übereinander zu zeichnen.
Anschließend werden zwei Quadrate gezeichnet. Wir haben sie in das Fenster gelegt, wir haben ihnen RGB-Farbcodes gegeben, und dann haben wir die X- und Y-Koordinaten eingefügt, bevor wir die Breite und Länge hinzugefügt haben. Denken Sie daran: den Korridor entlang und die Treppe hinunter! Ich denke, es macht Sinn, unseren Bösewicht etwas größer als den Guten zu machen und ihn unheimlich rot zu machen!
Schließlich riefen wir an pygame.display.update ()damit diese Elemente tatsächlich auf dem Bildschirm erfasst werden.
Code
def draw_game():
win.fill((0, 0, 0))
pygame.draw.rect(win, (0, 0, 255), (x, y, 20, 20))
pygame.draw.rect(win, (255, 0, 0), (baddyX, baddyY, 40, 40))
pygame.display.update()
Siehe auch: So rufen Sie eine Funktion in Python auf
So erstellen Sie ein Loop-Spiel in Python
Im nächsten Teil des Codes findet der eigentliche Spaß statt. Dies ist das „Boilerplate“, das Sie wahrscheinlich in vielen Pygame-Kreaturen sehen werden. Im Grunde ist es eine Schleife, die sich so lange wiederholt, wie die Anzahl von Tendenzen in True platziert.
Die erste Zeile dieser Schleife fügt eine kurze Verzögerung hinzu. Tatsächlich legt dies unsere „Framerate“ fest und verhindert, dass alles so schnell passiert, dass wir nichts sehen können!
Code
while run:
pygame.time.delay(100)
Im Grunde soll alles, was immer und immer wieder passieren soll, in einer Schleife ablaufen. Das erste, was wir hier einfügen, ist der kleine Code, der das Verhalten unseres Bösewichts definiert. Es benutzt Wenn und elf (etc., if)-Anweisungen zur Steuerung des Codeflusses. Wenn der Wert der Koordinaten des Spielers größer ist als die Koordinaten der schlechten Person, wird die schlechte Person handeln, um ihn zu ändern: unsere Position schließen. Da sich unsere Charaktere jeweils um ein paar Pixel bewegen (wie in definiert Gut und böseVel Variablen), füge ich ein wenig Spielraum für Fehler hinzu.
Code
if baddyX < x - 10: baddyX = baddyX + baddyVel drawGame() elif baddyX > x + 10:
drawGame()
baddyX = baddyX - baddyVel
elif baddyY < y - 10: baddyY = baddyY + baddyVel elif baddyY > y + 10:
baddyY = baddyY - baddyVel
else:
run = False
Wenn die Koordinaten jedoch innerhalb von 10 Pixeln unseres Spielers liegen, ist das Spiel vorbei! Tendenzen auf False gesetzt ist und das Programm die Schleife verlässt. Die letzte Anweisung nach der Schleife beendet das Spiel.
Das ist allerdings ein wenig hässlich, weil die Koordinaten in der oberen linken Ecke des Quadrats platziert sind, nicht in der Mitte. Dies bedeutet, dass die Kollisionserkennung extrem schlecht ist, und wenn Sie tatsächlich ein Spiel erstellen, müssen Sie etwas rechnen, um sicherzustellen, dass das Spiel endet, wenn alle Charaktere berührt werden.
Beachten Sie, wie jedes Mal, wenn das Böse seine Position ändert, wir rufen Zeichen-Spiel () und aktualisieren Sie die Leinwand.
Schließlich müssen wir die Eingabe des Spielers erhalten und den Spielercharakter entsprechend übertragen. Glücklicherweise beschleunigt Pygame es:
Code
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
x -= vel
if keys[pygame.K_RIGHT]:
x += vel
if keys[pygame.K_UP]:
y -= vel
if keys[pygame.K_DOWN]:
y += vel
draw_game()
Wie Sie wissen, ermöglicht der erste Teil dieses Codes dem Spieler auch, das Spiel zu verlassen, indem er auf die Kreuzschaltfläche klickt.
Schließlich haben wir das Spiel beendet, als die Schleife vorbei war!
Das bleibt uns übrig:

Es ist nicht genau Cyberpunk 2077, aber hey und wenigstens ist es vorbei! #pagsunog
Wohin von hier aus
Jetzt wissen Sie, wie man ein Python-Spiel erstellt! Zumindest wissen Sie, wie man bewegte Bilder auf einem Bildschirm erstellt … Aber hoffentlich reicht dies aus, um Ihnen eine Vorstellung davon zu geben, wie Pygame die Fähigkeiten von Vanilla Python erweitern kann. Der Rest ist nur eine Frage des Erlernens der Fähigkeiten, die Sie benötigen, um weitere Funktionen hinzuzufügen, bis Sie etwas haben, das Ihnen Spaß macht! Siehe offizielle Dokumentation HIER.
Oder wenn Sie Ihren Fortschritt beschleunigen und Marketingfähigkeiten erlernen möchten, warum belegen Sie nicht einen Online-Kurs? Dies ist der schnellste Weg, um Python richtig zu lernen, und wir haben immer noch die Werkzeuge Leitfaden zum besten Online-Python-Kurs. Versuchen Programmieren mit Python: Training für angehende Entwickler für nur 49,99 $. Beeilen Sie sich jedoch, denn der Kurs kostet etwa 700 US-Dollar.