Heim  >  Artikel  >  System-Tutorial  >  Der richtige Ansatz zur Entwicklung von Spielen in Python

Der richtige Ansatz zur Entwicklung von Spielen in Python

王林
王林nach vorne
2024-01-12 11:54:04933Durchsuche

Der richtige Ansatz zur Entwicklung von Spielen in Python
Python3 hat viele Verbesserungen basierend auf Python2 vorgenommen, wie zum Beispiel die String-Kodierung. Die Standardzeichen in Python3 verwenden die Unicode-Kodierung, die natürlich alle Zeichen auf der Welt abdecken kann. Darüber hinaus ist die Entwicklungseffizienz der Python-Sprache selbst sehr hoch. Deshalb zeigen wir Ihnen heute, wie Sie mit Python3 ein beliebtes Spiel entwickeln: Fishing Master!

Lassen Sie uns zunächst einen kurzen Überblick über das Spiel Fishing Master geben. Fishing Master ist in den letzten Jahren ein sehr beliebtes Spiel. Es handelt sich um ein Gelegenheitsspiel mit dem Thema Tiefseejagd. „Fishing Master“ wurde 2009 veröffentlicht und eroberte zunächst die Herzen der Spieler durch sein einfaches und unkompliziertes Angel-Gameplay. In den folgenden Jahren gewann es zahlreiche Auszeichnungen, darunter die „Top Ten Games“ und die Top Ten der beliebtesten mobilen Online-Spiele 2015, herausgegeben vom Game Working Committee. Erklären Sie feierlich Ihren Status als Angelexperte. In Python3 gibt es eine Spieleentwicklungs-Engine namens cocos2d.

Diese Spiel-Engine war ursprünglich eine Objective-C-Version, die nur auf iOS-Systemen verwendet werden konnte. Später übersetzte der inländische Experte Wang Zhe sie in eine C++-Version, sodass sie schnell populär wurde. Das cocos2d, das wir heute verwenden werden, ist die Python-Version. Die Python-Version von cocos2d weist eine höhere Entwicklungseffizienz auf und weist nicht so viele wilde Zeiger und Speicherlecks auf. Sie unterstützt auch die plattformübergreifende Entwicklung läuft unter Windows und Mac sowie Linux, ohne eine einzige Codezeile zu ändern. Wenn Sie diese Spiel-Engine noch nicht installiert haben, können Sie sie mit dem folgenden Befehl installieren:

pip3 install cocos2d
Direktorklasse initialisieren:

In cocos2d wird die Director-Klasse verwendet, um den gesamten Spielprozess zu organisieren. Und es ist während des Spiels ein Singleton-Objekt. Wenn Sie cocos2d verwenden, müssen Sie zunächst den Director initialisieren:

from cocos.director import director 
director.init(width=800,height=480)   # 设置窗口的宽度是800像素,高度是400像素
Spielszenen und Ebenen erstellen:

Szene ist ein integraler Bestandteil der Spieleentwicklung. Eine Szenenspielschnittstelle kann eine Szene sein. Szenen platzieren im Allgemeinen Spielelemente wie Fische und Kanonenrohre nicht direkt. Im Allgemeinen platzieren wir Spielelemente in einer Ebene und fügen diese Ebene dann in die Szene ein. Die Ebene kann auch zum Empfangen von Benutzerereignissen wie Klickereignissen verwendet werden. Initialisieren wir also unsere erste Szene und Ebene:

from cocos import layer
from cocos import scene
game_layer = layer.Layer()
game_scene = scene.Scene()
Hintergrundbild hinzufügen:

Das Spiel wird unter Wasser gespielt, Sie müssen also ein Bild als Hintergrund des Spiels verwenden, sonst wird das Spiel langweilig. Wenn Sie in cocos2d ein Bild laden möchten, müssen Sie ein Sprite verwenden. Die Fische, Kanonenrohre und Netze, die wir in Zukunft im Spiel verwenden werden, werden alle über Sprites implementiert. Und die Elfen sollten in der Ebene platziert werden. Hier habe ich die Unterklasse geerbt und neu geschrieben:
Der richtige Ansatz zur Entwicklung von Spielen in Python

Waffenlauf hinzufügen:

Das Kanonenrohr muss über Sprites implementiert werden, ich habe direkt eine Unterklasse geschrieben, die von sprite.Sprite geerbt wurde, und dann eine Kanonenrohrklasse erstellt. Der Code lautet wie folgt:
Der richtige Ansatz zur Entwicklung von Spielen in Python
Benutzerklickereignisse empfangen: Um Benutzerklickereignisse zu empfangen, müssen Sie zwei Dinge tun. Setzen Sie zunächst das Klassenattribut der Spielebene auf „is_event_handler=True“. Zweitens implementieren Sie „on_mouse_press“, um Benutzerklickereignisse zu empfangen:
Der richtige Ansatz zur Entwicklung von Spielen in Python

Rotierender Lauf:

Nachdem der Benutzer auf den Bildschirm geklickt hat, muss er den Lauf drehen und das Netz auswerfen. Hier wird zuerst der Lauf gedreht. Da wir nur die x- und y-Koordinaten des Bildschirms kennen, nicht jedoch den Winkel, müssen wir trigonometrische Funktionen verwenden, um eine Konvertierung durchzuführen. Der Code lautet wie folgt:
Der richtige Ansatz zur Entwicklung von Spielen in Python

Wirf das Netz aus:

Nachdem das Kanonenrohr gedreht wurde, sollte das Netz an der mit der Maus angeklickten Stelle ausgebreitet werden, und das Netz sollte beim Ausbreiten von klein nach groß vergrößert werden. Der Code lautet wie folgt:
Der richtige Ansatz zur Entwicklung von Spielen in Python

Fisch hinzufügen:

Bis jetzt gibt es in unserer Spielszene keinen Fisch, also fügen wir hier die Fischklasse hinzu und lassen sie von Sprite erben. Sprite Der Fisch aktualisiert seine Bewegungen während des Schwimmens ständig, sodass er nicht einfach ein Bild verwenden kann, aber wenn Wenn Sie eine Gruppe von Bildern verwenden möchten, nennen wir das Keyframe-Animation. Der Code lautet wie folgt:
Der richtige Ansatz zur Entwicklung von Spielen in Python

Kollisionserkennung zwischen Fisch und Netz:

Nachdem das Netz ausgeworfen wurde, sollte beurteilt werden, ob eine Kollision mit dem Fisch vorliegt. Bei einer Kollision sollte der Fisch in den gefangenen Zustand versetzt werden. In cocos2d wurde das Kollisionserkennungsmodul gekapselt, das über cocos.collision_model vervollständigt werden kann. Und wenn Sie einem Element eine Kollisionserkennung hinzufügen möchten, müssen Sie ein cshape-Attribut hinzufügen, damit eine Kollision auftreten kann. Hier gibt es viel Code, daher werde ich ihn separat auflisten:

Fisch:
Der richtige Ansatz zur Entwicklung von Spielen in Python
Netto:
Der richtige Ansatz zur Entwicklung von Spielen in Python
Erkennen Sie, ob eine Kollision auftritt:
Der richtige Ansatz zur Entwicklung von Spielen in Python
Das Obige gibt Ihnen eine Idee. Python kann immer noch großartige 2D-Spiele erstellen.

Das obige ist der detaillierte Inhalt vonDer richtige Ansatz zur Entwicklung von Spielen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:linuxprobe.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen