Initiation à Pygame

Lors du lancement du logiciel Python, seules les fonctions principales sont chargées en mémoire. Les autres sont rangées dans des fichiers appelés librairies. Si on souhaite utiliser une fonction définie dans une librairie, il faut la charger en mémoire.
Par exemple, si vous souhaitez faire des mathématiques (si, si!), vous pouvez avoir besoin de la racine carrée. Vous débutez votre programme par
from math import sqrt #on n'importe que la racine carrée, définie dans la librairie math
ou
from math import * #on importe toute la librairie de fonctions mathématiques

Certaines bibliothèques (library en anglais) sont éditées par les développeurs de Python (c'est le cas de math, random…) et installées automatiquement avec le logiciel. Vous pouvez en définir de nouvelles. Vous pouvez en utiliser d'autres développées par des gens ne travaillant pas pour Python. C'est le cas de pygame. Vous devez vous assurer que la licence de la bibliothèque est conforme à l'utilisation que vous en ferez. Pygame est une bibliothèque libre de droit donc éprouvez de la reconnaissance pour ses développeurs qui vous font partager le fruit de leur travail gratuitement.

Etape 1: télécharger Pygame

  • demander au professeur d'ouvrir une session avec les droits d'installation
  • se rendre sur le site : http://pygame.info/downloads/
  • télécharger la bonne version de pygame, a priori celle pour Python 3.2

Lors de l'installation, vous rencontrerez une fenêtre comme celle-ci. L'installeur détecte automatiquement l'endroit adéquat où installer la librairie. Si ce n'est pas le cas, appelez le professeur.


Etape 2: Initialisation

Voilà notre base de programme :


Implémentez-le et exécutez-le.

Vous devez avoir une fenêtre (de taille 640x480 pixels) qui s'ouvre brièvement, puis se ferme. C'est normal, puisque l'instruction suivant l'ouverture de cette fenetre est la fermeture de pygame!

Pour la faire s'afficher 2 secondes (soit 2000 millisecondes) on doit remplacer

par


Recopiez le code pour que la fenêtre soit affichée 2 secondes.
Modifiez votre code pour que la fenêtre soit affichée 5 secondes.

Etape 3: Afficher des images

Nous allons afficher une image dans notre fenêtre.

Créez ou récupérez une image et placez-la dans le même dossier que le programme vous écrivez.

Voilà le code permettant d'afficher l'image balle.jpg dans notre fenêtre:


Pour faire simple, la première ligne indique où se trouve le fichier de l'image et la transforme en une variable ici appelée image utilisable dans le programme.
La deuxième ligne précise à quel endroit le coin en haut à gauche de image sera placé dans la fenêtre.
La fenêtre est vue comme un tableau de pixels (ici de 640 de large sur 480 de haut). La case en haut à gauche est repérée par (0,0) et celle en bas à droite par (640,480). Ici, on place image en (320,240) soit au milieu!
La troisième ligne, sert à actualiser l'affichage avec nos modifications.

Recopiez ce code et modifier le pour placer 3 fois l'image sur l'ecran: en haut à gauche, en haut à droite et en bas à droite.

On peut faire afficher plusieurs images. Il suffit de définir autant de variables image1, image2… que souhaité, les placer puis faire un seul flip()



Etape 4: Faire se déplacer une image

Pour faire "bouger" une image, il suffit de la faire s'afficher successivement à différents endroits.
Construire un programme qui déplace une image du bord gauche de l'écran vers le bord droit. Vous aurez donc besoin d'une boucle et d'une variable pour noter l'abscisse x de l'image.

Si vous réussissez, vous remarquerez que l'image laisse "une trainée" derrière elle car les images affichées précédemment sont restées. Pour les effacer, il suffit de remplir la fenêtre de noir avant d'afficher l'image à sa nouvelle position avec l'instruction: