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()