Menu
CoddyTech

Cerchi, linee, poligoni

Fa parte della sezione Il game loop del percorso Pygame di Coddy. Lezione 9 di 32.

Finora hai disegnato rettangoli. pygame.draw offre altre forme e iniziano tutte allo stesso modo: la superficie su cui disegnare, poi il colore.

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 cerchio richiede il centro e il raggio. A differenza di un rettangolo, viene posizionato dal centro, non dall'angolo in alto a sinistra. Un raggio di 30 produce un cerchio largo 60 pixel.

Una linea richiede i due punti finali e, per ultimo, la larghezza in pixel. Senza specificare la larghezza, è spessa 1 pixel.

Un poligono richiede un elenco di punti degli angoli e riempie la forma tra di essi, collegando l'ultimo punto al primo. Tre punti formano un triangolo, quattro un rombo.

challenge icon

Sfida

Facile

Disegna una barca a vela in mare, dopo il riempimento:

  1. Il sole: un cerchio giallo (255, 196, 0) centrato in (380, 80) con raggio 40.
  2. Il mare: una linea blu (80, 160, 255) da (0, 280) a (480, 280), spessa 4 pixel.
  3. La vela: un poligono rosso (235, 80, 80) con vertici (240, 120), (240, 250) e (160, 250).

Provalo tu

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))
    # disegna qui il sole, il mare e la vela
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Tutte le lezioni di Il game loop

Esercitati da solo: Playground Pygame