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.
Sfida
FacileDisegna una barca a vela in mare, dopo il riempimento:
- Il sole: un cerchio giallo
(255, 196, 0)centrato in(380, 80)con raggio40. - Il mare: una linea blu
(80, 160, 255)da(0, 280)a(480, 280), spessa4pixel. - 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