Pygame 4: Les couleurs

Aujourd’hui nous allons regarder un peux plus de prés les couleurs en Pygame.

Dans le détail: les couleurs en Pygame sont représentées par des “tuples” de 3 composants. Ceci représentent la composante Rouge, Verte et Bleue de la couleur. Il y a une quatrième composante que nous aborderons plus tard, et ça est la transparence. Pour un résume sur les tuples, vous pouvez regarder ici.  En bref, elles sont des listes immodifiables et sont enclos dans des “()”. Par exemple, la tuple gris=(128, 128, 128) affecte à la variable gris la liste immodifiable (tuple) avec la valeur (128, 128, 128). Notez bien que les parenthèses font partie de la définition!

Voila un petit exemple que reprends les articles précédents. Ici on joue pas seulement avec des autres éléments que nous avons déjà commencé à explorer, comme les événements. Il y a une boucle de traitement des événements, ou on capture la pression des touches R, B, V, N, W pour faire… bien, lisez le code!

Exercice: Essayez d’y ajouter la couleur définie par la tuple ici en haut, e de traiter l’événement correspondant à une pression sur la touche G comme on fait pour les autres touches.

# Importons la librairie pygame
import pygame

# Pour les constants couleur 
from pygame.locals import *

# Initialisons la plateforme de jeux 
pygame.init()

# creeons une fenetre de jeux 
gameDisplay = pygame.display.set_mode((800, 600))

# Les couleurs en Pygame sont des "tuples" de 3 valeurs (rouge, Vert, Bleu). En realité il y a
# la quatrième composante, la transparence, mais on discuterà de ça plus avant. 

# Blanc...
blanc = (255, 255, 255)
# Noir...
noir = (0, 0, 0)
# Rouge
rouge = (255, 0, 0)
# Vert
vert = (0, 255, 0)
# Bleu
bleu = (0, 0, 255)

# Maintenant on va mettre ensamble couleurs et evenements


# Notre titre pour le jeux...
pygame.display.set_caption("Maintenant nous quittons!")

# Mettons-la à jour (visualizons-la) 
pygame.display.update()

# Condition de sortie 
sortieDuJeux=False 

# Boucle de gestion des évenements, pour le moment nous les imprimons
# La réference pour les evenements est ici: https://www.pygame.org/docs/ref/event.html
while not sortieDuJeux :
    for event in pygame.event.get():
        
        # On continue à imprimer l'evenement, pour pouvoir l'inspecter...  
        print (event)
        # On intercepte une touche 
        if event.type == pygame.KEYDOWN:
            # R pour rouge
            if event.key==K_r:
                pygame.draw.rect(gameDisplay, rouge , (0,0,800,600), 0)
            # B pour bleu
            if event.key==K_b:
                pygame.draw.rect(gameDisplay, bleu , (0,0,800,600), 0)
            # v pour vert
            if event.key==K_v:
                pygame.draw.rect(gameDisplay, vert , (0,0,800,600), 0)
            # n pour noir
            if event.key==K_n:
                pygame.draw.rect(gameDisplay, noir , (0,0,800,600), 0)
            # w pour blanc
            if event.key==K_w:
                pygame.draw.rect(gameDisplay, blanc , (0,0,800,600), 0)
        
        # Manage the "quit" event 
        if event.type == pygame.QUIT :
            sortieDuJeux = True 
    pygame.display.update()
    
# Sortons de Pygame
pygame.quit()

# Sortons du programme
quit()