Faites bouger votre personnage principal en réponse aux entrées du joueur avec les événements clavier et souris de la bibliothèque Arcade.

Arcade est une bibliothèque Python populaire que vous pouvez utiliser pour créer des jeux d'arcade 2D. C'est une bibliothèque facile à utiliser qui fournit un cadre simple pour créer des jeux avec Python.

L'un des composants essentiels de tout jeu est le mouvement des joueurs.

Créer un jeu simple en Arcade

Vous pouvez retrouver l'intégralité code dans ce référentiel GitHub.

Avant de commencer, assurez-vous d'avoir pip installé sur votre appareil. Utilisez cette commande pour installer la bibliothèque d'arcade :

bibliothèque d'installation pip

Après cela, créez une classe Player en tant que sous-classe de arcade. Lutin classe, et une Mon jeu classe en tant que sous-classe de arcade. Fenêtre. Le Mon jeu La classe aura des méthodes pour configurer les objets du jeu, les afficher à l'écran, mettre à jour l'état du jeu et gérer les entrées de l'utilisateur. Le code pour créer l'écran de jeu et l'objet joueur est le suivant :

instagram viewer
importer arcade

SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600

classeJoueur(arcade. Lutin):
définitivement__init__(soi):
super().__init__("joueur.png", 0.5)
self.center_x = SCREEN_WIDTH // 2
self.center_y = SCREEN_HEIGHT // 2

classeMon jeu(arcade. Fenêtre):
définitivement__init__(soi):
super().__init__(SCREEN_WIDTH, SCREEN_HEIGHT, "Mon jeu")
self.player = Aucun
arcade.set_background_color (arcade.color. NOIR)

définitivementinstallation(soi):
self.player=Joueur()

définitivementon_draw(soi):
arcade.start_render()
self.player.draw()

définitivementmise à jour(soi, delta_time):
passer

MonJeu().run()

Ajouter un mouvement de joueur avec une entrée au clavier

Maintenant que vous avez créé l'écran de jeu et l'objet joueur, vous pouvez déplacer le joueur en réponse à la saisie au clavier. Définir la on_key_press() et on_key_release() méthodes, que vous appellerez lorsque le joueur appuie ou relâche une touche.

définitivementon_key_press(soi, clé, modificateurs):
si clé == arcade.clé. GAUCHE:
self.player.change_x = -5
elif clé == arcade.clé. DROITE:
self.player.change_x = 5
elif clé == arcade.clé. EN HAUT:
self.player.change_y = 5
elif clé == arcade.clé. BAS:
self.player.change_y = -5

définitivementon_key_release(soi, clé, modificateurs):
si clé == arcade.clé. GAUCHE ou clé == arcade.clé. DROITE:
self.player.change_x = 0
elif clé == arcade.clé. EN HAUT ou clé == arcade.clé. BAS:
self.player.change_y = 0

Lors de l'ajout de mouvements de joueurs avec des entrées au clavier, vous pouvez personnaliser la vitesse de déplacement en modifiant la valeur attribuée à self.player.change_x et self.player.change_y. Vous pouvez également ajouter des conditions pour restreindre les mouvements des joueurs sur l'écran de jeu.

Ajout de mouvement de joueur avec la souris

En plus des entrées au clavier, vous pouvez également ajouter des mouvements de joueur à l'aide de la souris. Définir la on_mouse_motion() méthode, qui s'exécutera lorsque le joueur déplacera la souris. Dans la méthode, définissez le centre_x et centre_y propriétés de l'objet joueur à la position actuelle de la souris.

définitivementon_mouse_motion(soi, x, y, dx, dy):
self.player.center_x = x
self.player.center_y = y

Lors de l'ajout d'un mouvement de joueur avec la souris, vous pouvez personnaliser le comportement de l'objet joueur lorsque l'utilisateur clique ou maintient sa souris enfoncée en définissant des méthodes telles que on_mouse_press() ou on_mouse_drag(). Vous pouvez utiliser ces méthodes pour déclencher des actions du joueur telles que tirer ou sauter, selon la mécanique du jeu.

Présentation de fonctionnalités supplémentaires

Vous pouvez encore améliorer le mouvement du joueur en tenant compte de l'accélération et de la décélération. Modifier le on_key_press() méthode pour soustraire ou ajouter à la change_x et change_y propriétés de l'objet joueur, en fonction de la direction du mouvement. Définissez également le change_x et change_y propriétés à 0 dans le on_key_release() méthode, comme précédemment.

définitivementon_key_press(soi, clé, modificateurs):
si clé == arcade.clé. GAUCHE:
self.player.change_x -= 5
elif clé == arcade.clé. DROITE:
self.player.change_x += 5
elif clé == arcade.clé. EN HAUT:
self.player.change_y += 5
elif clé == arcade.clé. BAS:
self.player.change_y -= 5

définitivementon_key_release(soi, clé, modificateurs):
si clé == arcade.clé. GAUCHE ou clé == arcade.clé. DROITE:
self.player.change_x = 0
elif clé == arcade.clé. EN HAUT ou clé == arcade.clé. BAS:
self.player.change_y = 0

Tout comme PyGame, vous pouvez également ajouter la détection de collision entre l'objet joueur et d'autres objets de jeu, tels que des ennemis ou des obstacles en arcade. Vous pouvez y parvenir en ajoutant le code suivant au mise à jour() méthode de la Mon jeu classe:

définitivementmise à jour(soi, delta_time):
self.player.update()

# Vérifiez les collisions entre le joueur et d'autres objets du jeu
collisions = arcade.check_for_collision_with_list (self.player, self.enemy_list)

pour collision dans collisions :
collision.kill()

Créez des jeux attrayants avec le mouvement interactif des joueurs

Le mouvement interactif des joueurs est un aspect crucial de tout jeu captivant. L'utilisation de différents types de mécanismes de mouvement tels que sauter, courir, voler et glisser peut ajouter de la variété et de l'excitation au jeu.

Donner aux joueurs le contrôle de leurs mouvements ajoute un sentiment d'agence et d'immersion, ce qui peut conduire à une expérience de jeu plus satisfaisante.