Menu
CoddyTech

Cercles, lignes et polygones

Fait partie de la section La boucle de jeu du Journey Pygame de Coddy. Leçon 9 sur 32.

Jusqu’à présent, tu as dessiné des rectangles. pygame.draw propose d’autres formes, et elles commencent toutes de la même façon : la surface sur laquelle dessiner, puis la couleur.

pygame.draw.circle(screen, (255, 196, 0), (100, 80), 30)
pygame.draw.line(screen, (240, 240, 240), (0, 200), (480, 200), 3)
pygame.draw.polygon(screen, (60, 200, 120), [(240, 40), (280, 120), (200, 120)])

Un cercle prend son centre et son rayon. Contrairement à un rectangle, il est positionné par son milieu, et non par son coin supérieur gauche. Un rayon de 30 donne un cercle de 60 pixels de diamètre.

Une ligne prend ses deux extrémités et, en dernier, sa largeur en pixels. Sans largeur spécifiée, elle fait 1 pixel d’épaisseur.

Un polygone prend une liste de points correspondant à ses sommets et remplit la forme entre eux, en reliant le dernier point au premier. Trois points forment un triangle, quatre un losange.

challenge icon

Défi

Facile

Dessine un voilier en mer, après le remplissage :

  1. Le soleil : un cercle jaune (255, 196, 0) centré en (380, 80) avec un rayon de 40.
  2. La mer : une ligne bleue (80, 160, 255) allant de (0, 280) à (480, 280), épaisse de 4 pixels.
  3. La voile : un polygone rouge (235, 80, 80) dont les sommets sont (240, 120), (240, 250) et (160, 250).

Essayez vous-même

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Sailboat")
clock = pygame.time.Clock()

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    screen.fill((30, 30, 46))
    # dessine le soleil, la mer et la voile ici
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Toutes les leçons de La boucle de jeu

Entraînez-vous par vous-même : Playground Pygame