Les bases de Pygame

Sur cette page tu trouveras : 

Le code de départ

Tout d’abord, crée un nouveau projet, en créant un nouveau dossier dans ton ordinateur, et en allant l’ouvrir dans ton VScode; Une fois dans ton vscode, ajoute un nouveau fichier « main.py’

Conseil : Tu peux lui donner le titre base_pygame et le garder de côté.

  • import pygame, sys : Cela importe les modules pygame et sys pour créer des jeux et manipuler différents aspects du runtime Python.
  • from pygame.locals import QUIT : Cette constante est utilisée pour gérer l’événement de fermeture de la fenêtre.
  • pygame.init() : Cela initialise Pygame. Cette étape est obligatoire pour exécuter le programme
  • fenêtre = pygame.display.set_mode((400, 300)) : Cela crée une fenêtre de jeu de 400 pixels de large sur 300 pixels de haut
  • pygame.display.set_caption(‘Hello World!’) : Cela définit le titre de la fenêtre 
  • while True: : Cela crée une boucle infinie pour garder le jeu en cours d’exécution jusqu’à ce que l’utilisateur décide de fermer la fenêtre.
  • for event in pygame.event.get(): : Cette ligne est une boucle for dans laquelle on va coder tous les évènements. Les événements sont des actions comme des frappes de clavier, des mouvements de souris ou des clics sur des boutons.
  • if event.type == QUIT: : Cette condition vérifie si l’événement actuel est de type QUIT, c’est-à-dire si l’utilisateur a cliqué sur le bouton de fermeture de la fenêtre.
    • pygame.quit() : Cette commande est appelée lorsque l’utilisateur souhaite quitter le programme.
    • sys.exit() : Cela termine l’exécution du programme Python. Sans cela, le programme continuerait à s’exécuter même après avoir désinitialisé Pygame.
  • pygame.display.update() : Cela met à jour l’affichage de la fenêtre de jeu. Cette fonction doit être appelée pour que les changements graphiques que l’on programme soient visibles à l’écran.

Les fonctions de base pygame

pygame.init() : initialise pygame et tous les modules nécessaires

pygame.display : Gère l’affichage dans la fenêtre de jeu

pygame.font : Gère les polices de caractères

pygame.mixer : Gère le son et la musique

pygame.event : Gère les événements comme les clics de souris et les pressions sur les touches

pygame.quit() : est appelé à la fin pour désinitialiser tous les modules Pygame et libérer les ressources utilisées.

Les formes géométriques

Créer un rectangle

Méthode rect() de .draw

  • Le premier paramètre est la surface d’affichage, donc notre fenêtre.
  • Ensuite vient le code couleur.
  • Enfin, on précise le positionnement horizontal et vertical du rectangle dans la fenêtre, puis sa largeur et sa hauteur.

Créer un cercle

Méthode circle() de .draw

  • Le premier paramètre est la surface d’affichage, donc notre fenêtre
  • Ensuite vient le code couleur
  • Puis on indique la position du centre du cercle (axe X, axe Y)
  • et enfin le rayon

Créer une ellipse

Méthode ellipse() de .draw

  • Le premier paramètre est la surface d’affichage, donc notre fenêtre
  • Ensuite vient le code couleur
  • Puis on indique la position du centre de l’ellipse selon l’axe X
  • puis selon l’axe Y

Créer une ligne

Méthode line() de .draw

  • Le premier paramètre est la surface d’affichage, donc notre fenêtre
  • Ensuite vient le code couleur
  • Puis on indique la position du point de départ (X, Y), où la ligne commencera
  • et enfin la position du point d’arrivée (X, Y)

Créer un polygone

Méthode polygon() de .draw

  • Le premier paramètre est la surface d’affichage, donc notre fenêtre.
  • Ensuite vient le code couleur.
  • Puis on insère une liste Python contenant les différents points qui permettront de tracer le polygone.

Créer une épaisseur à nos traits

Pour toutes les figures

  • On peut définir une épaisseur de ligne en ajoutant un chiffre à la fin des paramètres, pour indiquer le nombre de pixels d’épaisseur souhaité.
  • Cela permet de rendre la figure creuse : le centre n’est pas rempli (sauf pour les lignes, qui deviennent simplement plus épaisses).
  • Dans cet exemple, on ajoute 4 pixels d’épaisseur à toutes les figures.

Ajouter du son

Tu peux ajouter du son à ton jeu avec Pygame : 

  • soit un son d’ambiance qui démarre au début de la partie et s’arrête lorsque l’on perd,
  • soit des bruitages, par exemple lorsque tu entres en collision avec quelque chose ou lorsque tu te déplaces.

Télécharger un fichier son .wav

Commence par te choisir le son (ou les sons) que tu souhaites mettre dans ton jeu. 

Rends toi sur le site sonothèque.org

C’est un site de bruitage libre de droits. 

  • Tu peux choisir une recherche en français (en haut à droite)
  • puis cliquer sur “Tous les sons”
  • ou rechercher par mots-clés si tu as une idée précise

Lorsque tu cliques sur un son : 

Tu peux l’écouter en cliquant sur le lecteur vert PLAY

Et s’il te plaît, tu peux le télécharger en format .wav en cliquant sur télécharger.

  • Upload ton fichier dans le dossier de ton projet
  • Renomme le avec un nom simple et facile à retenir, pour pouvoir l’appeler facilement dans ton code.

Programmer ton son dans ton jeu

Tout d’abord, il te faut importer le module os, car nous allons nous en servir pour charger les fichiers audio dans notre jeu.

Ensuite, initialise le module mixer, juste en dessous de l’initialisation de Pygame.

Son emplacement est important !

Puis, à l’endroit où tu initialises tes variables, tu vas créer celle qui contiendra ton fichier audio.

  • Crée une variable 
  • appelle la méthode pygame.mixer.Sound() 
  • et joins-y le nom de ton fichier audio

Pour jouer le son, utilise la méthode play()

L’important est l’endroit où tu la places : ici, elle est mise au tout début du jeu, pour démarrer en même temps que celui-ci.

Teste voir s’il est bien calé, et s’il ne fait pas de boucle (un son qui se multiplie). Cela peut arriver s’il n’est pas placé au bon endroit.

Par exemple, si tu le mets à chaque déplacement du serpent, il va se relancer à chaque mouvement. Au bout de dix déplacements, tu auras donc dix fois la musique qui se joue en même temps, mais en décalé, car elle sera lancée à chaque déplacement.

Pour stopper le son, utilise la méthode stop()

Encore une fois, l’important est de bien la positionner !

Dans cet exemple, elle est placée au début de la condition qui arrête la partie lorsqu’on entre en collision avec un bord, et juste avant de relancer une nouvelle partie.

 

Retour en haut