Parmi les différentes formes que Pygame peut représenter, on peut citer le rectangle, le cercle et la ligne.
Voici un exemple d'utilisation :
import pygame
pygame.init()
screen = pygame.display.set_mode((800, 600))
clock = pygame.time.Clock()
BLACK = (0,0,0)
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill(BLACK)
# Rectangle rouge
pygame.draw.rect(screen, (255, 0, 0), [50, 50, 100, 100])
# Cercle vert
pygame.draw.circle(screen, (0, 255, 0), [300, 300], 50)
# Ligne bleue
pygame.draw.line(screen, (0, 0, 255), (300, 50), (500, 300), 2)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Analysons chacune de ces nouvelles instructions :
pygame.draw.rect(screen, (255, 0, 0), [50, 60, 100, 100])
Permet de dessiner un rectangle de couleur
pygame.draw.circle(screen, (0, 255, 0), [300, 300], 50)
Permet de dessiner un cercle de couleur
pygame.draw.line(screen, (0, 0, 255), (300, 50), (500, 300), 2)
Permet de dessiner une ligne de 2 pixels d'épaisseur, de couleur
Afin d’afficher des objets sur notre écran, il est nécessaire de comprendre le système de coordonnées utilisé par Pygame (et par la majorité des modules graphiques, tous langages confondus).
Chaque pixel de notre fenêtre est repéré par ses coordonnées cartésiennes, c’est à dire une abscisse $x$ et une ordonnée $y$. Le repère utilisé est orthonormé, mais l’axe des ordonnées est dirigé vers le bas, et l’origine du repère se situe en haut à gauche de l’écran.
Pour dessiner un polygone avec Pygame, on commence par définir une liste de points, puis on trace le polygone avec la commande
points = [(200, 100), (400, 100), (450, 200), (300, 300), (150, 200)]
pygame.draw.polygon(screen, (0, 0, 255), points)
Comme pour les rectangles et les cercles, on peut préciser une épaisseur afin de dessiner seulement le contour.
À l'aide de Pygame, dessiner les drapeaux des pays suivants :
Dessiner un arc-en-ciel avec Pygame !