Pygame ist ein plattformübergreifender Satz von Python-Modulen zum Erstellen von Spielen. Die Module sind so konzipiert, dass sie einfach und benutzerfreundlich sind und Spaß machen - ein wichtiger Teil der Pygame-Ideologie. In diesem Beitrag werde ich Ihnen zeigen, wie Sie Pygame verwenden und Tipps und Ressourcen zum Lernen teilen.
In diesem Handbuch wird davon ausgegangen, dass Sie bereits wissen, wie Sie in Python programmieren. Wenn dies nicht der Fall ist, lesen Sie den besten Weg, Python zu lernen, Python zu lernen, das Python-Lernprogramm, Codecademy oder Python auf die harte Tour zu lernen.
Python wird oft als die beste "erste Programmiersprache" angesehen, die erlernt werden soll, und wurde für seine leicht erlernbare Syntax und seine allmähliche Lernkurve gelobt. Aus diesem Grund lernen viele neue Programmierer zunächst Python.
Pygame erweitert Python, übernimmt die Python-Philosophie und soll einfach zu bedienen sein. Außerdem können aufstrebende neue Spieleentwickler ohne Programmierkenntnisse Pygame verwenden, da sie Python schnell auf den Markt bringen können.
Pygame ist seit 2000 erhältlich und seitdem hat sich eine große Community gebildet. Die Community behauptet, Pygame wurde millionenfach heruntergeladen und hatte Millionen von Besuchen auf ihrer Website. “ Infolge der großen Community werden gemeldete Fehler schnell behoben, es steht schnell Hilfe zur Verfügung und es wurden zahlreiche zusätzliche Funktionen hinzugefügt. Darüber hinaus sorgt die Community dafür, dass die Entwicklung von Pygame Spaß macht. Zum Beispiel wird alle zwei Jahre ein Python-Spielwettbewerb veranstaltet, um die Plattform zu fördern. Die Größe der Community unterscheidet Pygame von den anderen Python-Frameworks.
Die Tatsache, dass Pygame Open Source ist, bedeutet, dass Fehler in der Regel sehr schnell von der Community behoben werden. Es bedeutet auch, dass Sie Pygame nach Ihren Bedürfnissen erweitern und der Community möglicherweise sogar etwas zurückgeben können.
Pygame ist in C geschrieben, und ein Blick auf den Code ist eine großartige Möglichkeit, um besser zu verstehen, wie Python und Pygame funktionieren.
Pygame ist äußerst portabel, da es Windows, Linux, Mac OS X, BeOS, FreeBSD, NetBSD, OpenBSD, BSD / OS, Solaris, IRIX und QNX unterstützt. Neben diesen Computerplattformen gibt es eine Pygame-Untermenge für Android. Darüber hinaus benötigt Pygame kein OpenGL und kann DirectX, WinDIB, X11, Linux Framebuffer und viele andere APIs zum Rendern von Grafiken verwenden. Dies stellt sicher, dass eine größere Anzahl von Benutzern Ihr Spiel spielen kann.
Vergewissern Sie sich vor der Installation von Pygame, dass Sie Python installiert haben. Sie werden feststellen, dass es zwei Versionen von Python gibt: Python 2 und Python 3. Ich empfehle persönlich, dass Sie Python 2 neben Pygame verwenden, da Python 2 häufiger ist und es Pygame-Module gibt, die Python 3 nicht unterstützen wäre immer noch in der Lage, mit Python 3 großartige Spiele zu erstellen.
Nachdem Sie sichergestellt haben, dass eine Version von Python auf Ihrem Computer ausgeführt wird, können Sie Pygame von der Download-Website herunterladen.
Neben der Installation der Pygame-Module empfehle ich Ihnen, eine Python-IDE zu installieren, die Ihnen das Erstellen und Kompilieren von Spielen erleichtert.
Beachten Sie, dass eine integrierte Entwicklungsumgebung, bekannt als IDLE, bereits in Python enthalten ist. IDLE wurde jedoch häufig aus Gründen der Benutzerfreundlichkeit kritisiert, und ich persönlich kann es nicht empfehlen.
Meine persönliche Präferenz ist PyScripter, aber PyCharm, Wing IDE, Python-Tools für Visual Studio und Netbeans sind alles mögliche Optionen. Wie immer hängt die Wahl einer IDE von den persönlichen Vorlieben ab. Ich empfehle Ihnen, alle auszuprobieren und zu sehen, welche Ihnen am besten gefällt.
Hier sind einige Ressourcen, die Ihnen beim Einstieg in Pygame helfen.
Die University of Colorado bietet eine großartige Einführung in Pygame. Die beigefügten Folien stellen sicher, dass Sie die wichtigsten Komponenten von Pygame kennen und verwenden können. Nachdem Sie dieses Dokument gelesen haben, sollten Sie die Kernkonzepte von Pygame verstehen.
Es gibt eine Vielzahl von Tutorials, die Sie Pygame Schritt für Schritt beibringen. Ich habe drei meiner Favoriten ausgewählt:
Spieleentwicklung in Python 3 With Pygame ist eine Video-Tutorialserie, die als YouTube-Playlist verfügbar ist. Die Serie enthält 29 Videos, beginnend mit der Anzeige von Bildern und dem Rendertext. Anschließend werden Animationen und Benutzereingaben gelehrt. Wenn Sie Video-Tutorials den textbasierten Tutorials vorziehen, verpassen Sie diese Serie nicht.
Wenn Sie sowohl für Python als auch für Pygame Anfänger sind, empfehle ich einen Blick auf Invent Your Own Computerspiele mit Python. Dieses Buch beginnt mit dem Erlernen der Grundlagen von Python und unterstützt diese Anleitung, indem es Ihnen zeigt, wie Sie einfache Befehlszeilen-Spiele erstellen. Nachdem Sie sichergestellt haben, dass Sie die Grundlagen von Python verstehen, wird das Buch weitergeführt, um Pygame zu unterrichten.
Auf der anderen Seite, wenn Sie direkt nach Pygame springen möchten, ist Making Games with Python & Pygame das richtige Buch für Sie. Am Ende dieses Buches haben Sie 11 Spiele erstellt und können nun alleine loslegen.
Alle diese Bücher sind kostenlos und online, sodass Sie sofort loslegen können!
Ein Blick auf die Dokumentation ist ein wichtiger Schritt auf dem Weg zur Pygame-Meisterschaft. Hier finden Sie Dokumente, Anleitungen und Referenzen, die alle Funktionen von Pygame abdecken. Die Dokumentation ermöglicht es Ihnen, Kenntnisse über alle Aspekte von Pygame zu erlangen, und geht über das hinaus, was Sie durch die früheren Ressourcen gelernt hätten.
Das Pygame-Wiki hilft auch bei der Beantwortung von Fragen zur Plattform. Zögern Sie also nicht, einen Blick darauf zu werfen.
Ein Blick auf den Code hilft Ihnen zu verstehen, wie verschiedene Teile von Pygame interagieren, um ein komplettes Spiel zu erstellen. Beispiele zeigen Ihnen bewährte Vorgehensweisen und Sie können auf dem Weg einige Tricks aufgreifen.
In den offiziellen Pygame-Beispielen finden Sie Informationen zur Verwendung einzelner Module. In öffentlichen Pygame-Projekten in GitHub finden Sie einen vollständigen Code.
Pygame hat einen aktiven IRC-Kanal und eine Mailingliste. (Die Mailingliste ist auch in einer forumähnlichen Oberfläche verfügbar.) Mitglieder der Community möchten Anfängern gerne helfen. Scheuen Sie sich also nicht, Fragen zu stellen.
Wenn Sie ein Pygame-Experte werden, tragen Sie zur Gemeinschaft bei und helfen Sie anderen. Wenn Sie andere unterrichten, können Sie lernen und die Konzepte, die Sie bereits kennen, verfestigen.
Die oben bereitgestellten Ressourcen sind mehr als ausreichend, um ein solides Verständnis von Pygame zu erlangen. Wenn Sie sich durch die Ressourcen arbeiten, haben Sie außerdem mehrere Spiele erstellt. Ich bitte Sie jedoch dringend, Ihre eigene Kreation zu gestalten. Mehr als nur Tic-Tac-Toe oder Concentration zu bauen. Jeder kann einem Tutorial folgen, um ein Spiel zu erstellen. Lassen Sie Ihrer Kreativität freien Lauf und stellen Sie Ihre Fähigkeiten unter Beweis Original Spiel.
Pygame verfügt über eine wirklich mächtige Funktion, die als bekannt ist Gruppen, durch die pygame.sprite.Group
Klasse. Eine Gruppe ist im Wesentlichen ein Container für Sprite-Objekte.
Zum Beispiel, wenn ich mehrere erzeuge Kugel
Sprites, ich kann sie zu einer Gruppe mit dem Namen hinzufügen Kugeln
:
bullets = pygame.sprite.Group () für i in Reichweite (10): bullets.add (Bullet ())
Das Arbeiten mit Gruppen ist viel schneller als das Arbeiten mit einzelnen Sprites. Sie können einfach anrufen Group.update ()
um alle Sprites innerhalb einer Gruppe zu aktualisieren, oder Group.draw ()
den Inhalt der Gruppe
zu deinem Oberfläche
. Darüber hinaus erleichtern Gruppen die Kollisionserkennung, da Pygame eine Methode zur Überprüfung auf Kollisionen zwischen zwei Gruppen hat: pygame.sprite.groupcollide ()
.
Stellen Sie sicher, dass Sie a konvertieren Oberfläche
wann immer Sie eine erstellen, indem Sie die Konvertieren()
Methode. Diese Methode ändert das Pixelformat von a Oberfläche
an die Anzeige anpassen Oberfläche
. Wenn diese Methode nicht aufgerufen wird, muss jedes Mal eine Pixelkonvertierung durchgeführt werden, wenn Sie etwas zu Ihrem Objekt machen Oberfläche
-eine sehr langsame Operation.
Zum Beispiel anstelle von:
ballPicture = pygame.image.load ('ball.png')
Anruf:
ballPicture = pygame.image.load ('ball.png'). convert ()
oder wenn Sie das Alpha einstellen müssen:
ballPicture = pygame.image.load ('ball.png'). convert_alpha ()
Beachten Sie, dass convert_alpha ()
führt nicht zu derselben Leistungssteigerung wie Konvertieren()
, da das Pixelformat nicht exakt mit dem übereinstimmt Oberfläche
Fenster. Trotzdem führt dies zu einer verbesserten Blitgeschwindigkeit.
Beide pygame.display.update ()
und pygame.display.flip ()
Aktualisieren Sie den Inhalt des Spielfensters. Durch einfaches Aufrufen dieser Methoden wird jedoch der gesamte Bildschirm aktualisiert, wodurch die Bildrate stark verlangsamt wird. Ziehen Sie stattdessen in Betracht, nur einen bestimmten Teil des Bildschirms (wo immer Änderungen vorgenommen werden sollen) durch Aufruf zu aktualisieren pygame.display.update ()
und vorbei ein Rect
Darstellen des zu aktualisierenden Bereichs in der Methode. Auf diese Weise sehen Sie eine erhebliche Verbesserung der Leistung.
Beachten Sie, dass manchmal der gesamte Bildschirm aktualisiert werden muss. In diesen Fällen funktionieren beide Methoden einwandfrei.
Ich erinnere daran, dass ich Pygames große und hilfreiche Community zuvor erwähnt habe. Ich empfehle Ihnen, diese Community zu nutzen, indem Sie zusätzliche Module herunterladen, die von seinen Mitgliedern erstellt wurden. Diese Module erleichtern die schnelle Entwicklung Ihres Spiels und vereinfachen die Erstellung von Spielen.
Meine persönlichen Favoriten sind:
Weitere Bibliotheken finden Sie auf der Pygame-Website.
Wenn das Spiel wirklich plattformübergreifend sein soll, müssen Sie das Szenario berücksichtigen, in dem Ihre Benutzer Python und Pygame nicht auf ihren Computern installiert haben.
Berücksichtigen Sie die Erweiterung py2exe, um Windows ausführbar zu machen, und die Erweiterung py2app, um Anwendungen für Mac OS X zu erstellen.
Pygame wurde nicht sehr oft kommerziell verwendet, da Python nicht für seine Spielentwicklungsfähigkeiten bekannt ist. Dennoch wurde Pygame verwendet, um viele erfolgreiche unabhängige Spiele zu erstellen:
Galcon ist ein galaktisches Action-Strategiespiel für mehrere Spieler und möglicherweise das bekannteste Spiel, das mit Pygame entwickelt wurde. Es wurde 2007 von GameTunnel, einer der ersten Bewertungsseiten für Indie-Spiele, als Top 10-Spiel des Jahres ausgezeichnet.
Frets on Fire, ein Open-Source-Guitar-Hero-Klon, wurde in Pygame als Eintrag für den Assembly Development Competition 2006 von Unreal Voodoo erstellt.
Das mehrfach ausgezeichnete Rollenspiel "Dangerous High School Girls in Trouble!" Des unabhängigen Entwicklers Mousechief war Finalist bei IndieCade 2008.
PyWeek ist eine halbjährliche Herausforderung bei der Programmierung von Spielen, die nur in Python erstellte Spiele akzeptiert. So werden viele Einsendungen mit Pygame erstellt. Eine Liste der früheren Gewinner ist auf der PyWeek-Website verfügbar.
In diesem Beitrag habe ich Ihnen eine Einführung in die Spieleentwicklung mit Python und Pygame gegeben. Ich hoffe, dass es mir gelungen ist, Sie für Pygame zu interessieren und Ihnen mehr darüber beizubringen. Zögern Sie nicht, Ihre Fragen hier oder in verschiedenen Pygame-Foren zu stellen. Sie sind jetzt bereit, Ihre Reise in die Welt von Pygame zu beginnen. Viel Glück!