logo oujood
🔍

Pygame : comment créer et configurer une fenêtre

Toute application Pygame commence par une fenêtre. Voici comment la créer, la maintenir ouverte et personnaliser son apparence.

OUJOOD.COM

La fenêtre est l'interface graphique de votre application : c'est la surface sur laquelle seront dessinés vos personnages, décors et interfaces. En Pygame, cette fenêtre est un objet dynamique que l'on initialise au démarrage du programme.

Étape 1 — Initialiser Pygame et créer la fenêtre

pygame.init() active tous les modules internes nécessaires (son, affichage, événements) en une seule instruction. La fenêtre est ensuite générée par pygame.display.set_mode(), qui réserve une zone de mémoire de la taille spécifiée (largeur et hauteur en pixels).

  📋 Copier le code

import pygame

# Initialisation de tous les modules
pygame.init()

# Création d'une surface d'affichage 800x600
fenetre = pygame.display.set_mode((800, 600))
pygame.display.set_caption("Ma Fenêtre Pygame")

Résultat attendu : Une fenêtre de 800 par 600 pixels apparaît avec le titre "Ma Fenêtre Pygame".

Étape 2 — Créer la boucle principale

La boucle principale (ou Game Loop) maintient le programme actif. Sans elle, le script s'exécuterait en une fraction de seconde et se fermerait instantanément. Elle gère en continu la capture des entrées utilisateur et la mise à jour de l'affichage.

  📋 Copier le code

en_cours = True
while en_cours:
    # Vérification des événements (clic, clavier)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            en_cours = False

    # Mise à jour de l'affichage
    pygame.display.flip()

pygame.quit()

En résumé : La boucle vérifie chaque action utilisateur (pygame.event.get()) puis rafraîchit l'écran (pygame.display.flip()) pour afficher le contenu actuel de la mémoire vidéo.

Étape 3 — Rendre la fenêtre redimensionnable

Par défaut, la taille d'une fenêtre Pygame est fixe. Pour autoriser l'utilisateur à modifier sa taille à la souris, on utilise le flag pygame.RESIZABLE dans les paramètres de set_mode().

  📋 Copier le code

# Ajout du flag RESIZABLE
fenetre = pygame.display.set_mode((800, 600), pygame.RESIZABLE)

⚠ Lorsque la fenêtre est redimensionnée, les coordonnées de vos objets ne s'adaptent pas automatiquement. Vous devrez récupérer la nouvelle taille avec fenetre.get_size() et recalculer les positions de vos éléments.

Récapitulatif : le cycle complet en un seul script

  📋 Copier le code

import pygame

pygame.init()
fenetre = pygame.display.set_mode((800, 600))
pygame.display.set_caption("Mon Projet Pygame")

en_cours = True
while en_cours:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            en_cours = False
    
    # Effacer l'écran en bleu (R, G, B)
    fenetre.fill((0, 0, 255))
    
    pygame.display.flip()

pygame.quit()

Par carabde : 16 mai 2026 | Mis à jour le 9 juin 2026