Aller au contenu

Pygame/Importation et initialisation

Un livre de Wikilivres.


Traduit de l'anglais, l'original par Pete Shinners :
http://www.pygame.org/docs/tut/ImportInit.html


Importer Pygame et l'initialiser est très facile. Elle est également assez souple pour nous laisser le contrôle sur ce qui se produit. Pygame est une collection de différents modules dans un simple paquet python. La plupart des modules sont écrits en C, d'autres sont écrits en Python. Certains modules sont en option, et ne sont pas toujours présents.

Ceci n'est qu'une courte introduction sur ce qui se passe lorsque vous importez Pygame. Pour des explications plus claires voyez les exemples sur Pygame.

Premièrement nous importons Pygame, c'est essentiel. Depuis la version 1.4, Pygame est fait pour être plus simple. La plupart des jeux importeront Pygame de cette façon :

import pygame
from pygame.locals import *

La première ligne est la seule obligatoire. C'est l'importation de tous les modules de Pygame existants. La seconde ligne est optionnelle et sert à rendre publiques certaines constantes et fonctions de Pygame.

Une chose à garder à l'esprit est que certains modules de Pygame sont optionnels. Par exemple le module pygame.font est un de ceux-ci. Lorsque le programme lit import pygame, Pygame vérifie si tous les modules sont disponibles. Si le module font est disponible, il est importé en tant que pygame.font. Si le module n'est pas disponible, pygame.font aura la valeur None. Ce qui fait qu'il est facile de tester la présence du module font.

Initialisation

[modifier | modifier le wikicode]

Ensuite pour pouvoir utiliser Pygame, vous avez besoin de l'initialiser. La façon habituelle de le faire est d'écrire :

pygame.init()

Ceci initialise tous les modules de la bibliothèque Pygame pour nous. Tous les modules de Pygame n'ont pas besoin d'être initialisés, mais ceux qui en ont besoin le sont automatiquement. Il est également aussi facile d'initialiser les modules un par un. Par exemple pour initialiser le module font :

pygame.font.init()

Notons que s'il y a une erreur quand nous initialisons avec pygame.init(), elle échouera de façon silencieuse. Si nous initialisons les modules manuellement, toutes les erreurs soulèverons une exception. Tout module peut être initialisé avec la fonction get_init() qui retourne true si le module est initialisé correctement.

Il est possible d'appeler la fonction init() plusieurs fois par module sans danger.

Les modules ont généralement une fonction quit() pour quitter en libérant la mémoire. Il n'y a pas besoin d'appeler cette fonction explicitement vu que Python libère de lui même la mémoire de tous les modules initialisés quand on quitte un programme.