Maison  >  Article  >  Tutoriel système  >  La bonne approche pour développer des jeux en Python

La bonne approche pour développer des jeux en Python

王林
王林avant
2024-01-12 11:54:04933parcourir

La bonne approche pour développer des jeux en Python
Python3 a apporté de nombreuses améliorations basées sur Python2, telles que le codage de chaînes. Les caractères par défaut de Python3 utilisent le codage Unicode, qui peut couvrir tous les caractères de la terre. Bien entendu, les avantages ne se limitent pas à cela. De plus, l'efficacité de développement du langage Python lui-même est très élevée, nous vous apprenons donc aujourd'hui à utiliser Python3 pour développer un jeu populaire - Fishing Master !

Tout d’abord, commençons par une brève compréhension du jeu Fishing Master. Fishing Master est un jeu très populaire ces dernières années. Il s'agit d'un jeu compétitif décontracté sur le thème de la chasse en haute mer. "Fishing Master" a été lancé en 2009 et a d'abord conquis le cœur des joueurs grâce à son gameplay de pêche simple et facile. Au cours des années suivantes, il a remporté de nombreux prix, notamment le « Top Ten Games » et le Top Ten Most Popular Mobile Online Games en 2015, décernés par le Game Working Committee. Déclarez solennellement votre qualité d'expert en pêche. Il existe un moteur de développement de jeux en Python3 appelé cocos2d.

Ce moteur de jeu était à l'origine une version Objective-C, qui ne pouvait être utilisée que sur les systèmes iOS. Plus tard, l'expert national Wang Zhe l'a traduit en version C++. C++ est portable, il est donc rapidement devenu populaire. Le cocos2d que nous allons utiliser aujourd'hui est la version Python. Par rapport à la version C++, la version python de cocos2d a une efficacité de développement plus élevée et n'a pas autant de pointeurs sauvages et de fuites de mémoire. Elle prend également en charge le développement multiplateforme. fonctionne sous Windows et Mac ainsi que Linux sans modifier une seule ligne de code. Si vous n'avez pas encore installé ce moteur de jeu, vous pouvez l'installer avec la commande suivante :

pip3 install cocos2d
Initialiser la classe directeur :

Dans cocos2d, la classe réalisateur est utilisée pour organiser l'ensemble du processus de jeu. Et c'est un objet singleton pendant le jeu. La première chose à faire lors de l'utilisation de cocos2d est d'initialiser le directeur :

from cocos.director import director 
director.init(width=800,height=480)   # 设置窗口的宽度是800像素,高度是400像素
Créez des scènes et des calques de jeu :

La scène fait partie intégrante du développement de jeux. Une interface de jeu de scène peut être une scène. Les scènes ne placent généralement pas directement des éléments de jeu, tels que des poissons et des canons de canon. Généralement, nous placerons les éléments du jeu dans une couche, puis placerons cette couche dans la scène. La couche peut également être utilisée pour recevoir des événements utilisateur, tels que des événements de clic. Alors initialisons notre première scène et notre premier calque :

from cocos import layer
from cocos import scene
game_layer = layer.Layer()
game_scene = scene.Scene()
Ajouter une image d'arrière-plan :

Le jeu se joue sous la mer, vous devez donc utiliser une image comme arrière-plan du jeu, sinon le jeu sera ennuyeux. Dans cocos2d, si vous souhaitez charger une image, vous devez utiliser un sprite. Les poissons, les canons et les filets que nous utiliserons dans le jeu à l'avenir sont tous implémentés via des sprites. Et les elfes doivent être placés dans le layer. Ici, j'ai hérité de layer.Layer et j'ai réécrit une sous-classe. Le code est le suivant :
. La bonne approche pour développer des jeux en Python

Ajouter un canon de pistolet :

Le canon doit être implémenté via des sprites. Ici, j'ai directement écrit une sous-classe, héritée de sprite.Sprite, puis j'ai créé une classe de canon. Le code est le suivant :
La bonne approche pour développer des jeux en Python
Recevoir des événements de clic d'utilisateur : pour recevoir des événements de clic d'utilisateur, vous devez faire deux choses. Tout d'abord, définissez l'attribut de classe de la couche de jeu is_event_handler=True. Deuxièmement, implémentez on_mouse_press pour recevoir les événements de clic de l'utilisateur. Le code est le suivant :
La bonne approche pour développer des jeux en Python

Barillet rotatif :

Une fois que l'utilisateur a cliqué sur l'écran, il doit faire pivoter le baril et lancer le filet. Ici, le baril tourne en premier. Comme nous ne connaissons que les coordonnées x et y de l'écran, mais pas l'angle, nous devons utiliser des fonctions trigonométriques pour effectuer une conversion. Le code est le suivant :
. La bonne approche pour développer des jeux en Python

Jetez le net :

Après avoir fait tourner le canon du canon, le filet doit être étalé jusqu'à l'endroit cliqué par la souris, et le filet doit être agrandi de petit à grand au fur et à mesure qu'il s'étale. Le code est le suivant :
. La bonne approche pour développer des jeux en Python

Ajouter du poisson :

Jusqu'à présent, il n'y a pas de poisson dans notre scène de jeu, nous ajoutons donc la classe fish ici et la laissons hériter du sprite.Sprite. Le poisson mettra constamment à jour ses mouvements pendant la nage, il ne peut donc pas simplement utiliser une seule image, mais si. vous souhaitez utiliser un groupe d'images, nous appelons cela une animation par images clés. Le code est le suivant :
La bonne approche pour développer des jeux en Python

Détection de collision entre poisson et filet :

Une fois le filet lancé, il convient de déterminer s'il y a une collision avec le poisson. S'il entre en collision, le poisson doit être mis à l'état capturé. Dans cocos2d, le module de détection de collision a été encapsulé, qui peut être complété via cocos.collision_model. Et si vous souhaitez ajouter une détection de collision à un élément, vous devez ajouter un attribut cshape pour qu'une collision puisse se produire. Il y a beaucoup de code ici, je vais donc le lister séparément :

Poisson :
La bonne approche pour développer des jeux en Python
Réseau :
La bonne approche pour développer des jeux en Python
Détecter si une collision se produit :
La bonne approche pour développer des jeux en Python
Ce qui précède vous donne une idée. Python peut toujours créer de superbes jeux 2D.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer