pygame

pygame est une combinaison de Python avec la SDL (Simple Directmedia Library), une bibliothèque libre multi-plateformes permettant la gestion du multimédia dans la programmation.

  • L’affichage vidéo 2D
  • La gestion de l’audio
  • La gestion de périphériques de commandes (clavier, souris…)

La SDL est écrite en C (un langage reconnu pour sa rapidité), mais utilisable par Python (connu pour sa facilité de programmation) !

 

Installation

Sur une installation de Python

Depuis une fenêtre de commande Windows, un terminal Linux,  ou depuis pyzo :

Taper la commande :

pip install pygame

Autre méthode :

Depuis Pyzo

Taper la commande :

pip install pygame

Sur une installation WinPython

  • Télécharger le Precompiled Wheel Package de pygame (fichier .whl adapté à la version de Python) sur le site de Christophe Gohlke.
  • Lancer le WinPython Control Panel (depuis le dossier de WinPython).

  • Depuis le menu, faire Packages/Add Packages ou bien cliquer directement sur
  • Sélectionner le fichier .whl téléchargé :

  • Cliquer ensuite sur 
  • Tester si l’installation a bien réussi en tapant dans la console (de spyder par exemple) :

>>> import pygame

S’il n’y a pas de message d’erreur, c’est que tout est Ok !

 

Premiers pas

Suivre le tutoriel sur OpenClassroom

 

Structure de base

import pygame
from pygame.locals import *

pygame.init()
horloge = pygame.time.Clock()

################################################################################
# Chargement du fond
fond = pygame.image.load("image_de_fond.png")

# Ouverture de la fenêtre Pygame et collage du fond
fenetre_size = fond.get_rect().size
fenetre = pygame.display.set_mode(fenetre_size)
fenetre_rect = pygame.Rect((0, 0), fenetre_size)
fond = fond.convert()
fenetre.blit(fond, (0,0))

# Rafraîchissement de l'écran
pygame.display.flip()


# Constantes
################################################################################
fps = 30   # Taux de rafraichissement (fps = frame per second)


################################################################################
# Boucle infinie ...
continuer = True
while continuer:
    for event in pygame.event.get():	# Attente des événements
        if event.type == QUIT:
            continuer = False

    # Calculs
    # ...............

    # Re-collage des éléments
    fenetre.blit(fond, (0,0))
 
    # Rafraichissement
    pygame.display.flip()
    horloge.tick(fps)

pygame.quit()

 

Utilisation

Fermer correctement la fenêtre pygame

Après la boucle principale, tout à la fin du script, ajouter :

pygame.quit()

Cadencer un mouvement

Afin que l’exécution d’un programme pygame soit correctement cadencée, par exemple qu’un mouvement se produise à une vitesse régulière, il faut utiliser une horloge (Clock() ) :

horloge = pygame.time.Clock()

Puis à chaque itération de la boucle principale, fixer le taux d’images par secondes (Frame Rate ou FPS = Frames Per Second) :

horloge.tick(30) # 30 images par seconde

Gérer les collisions

Excellent tutoriel sur OpenClassrooms

 

 

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

code