Colori che cambiano
Fa parte della sezione Il game loop del percorso Pygame di Coddy. Lezione 12 di 35.
Un colore è composto da tre numeri, quindi una variabile può essere uno di questi. Cambia la variabile a ogni fotogramma e il colore cambia sullo schermo.
glow = 0
while running:
# eventi
glow = (glow + 3) % 256
pygame.draw.circle(screen, (255, glow, 0), (240, 180), 60)A ogni fotogramma si aggiunge 3 alla componente verde, quindi il cerchio passa dal rosso all’arancione e poi al giallo.
Ogni componente di un colore deve rimanere compresa tra 0 e 255. A 256 pygame si ferma con ValueError: invalid color. L’operatore % restituisce il resto di una divisione: 256 % 256 è 0 e 258 % 256 è 2. Quindi (glow + 3) % 256 ricomincia vicino a 0 invece di superare 255, e il cerchio si illumina dal rosso al giallo più e più volte.
Sfida
FacileFai brillare il cerchio dal rosso al giallo.
- Prima del ciclo, imposta
glow = 0. - Nel ciclo, prima di disegnare, aggiungi 3 a
glowe mantienilo tra 0 e 255 con% 256. - Disegna il cerchio in
(255, glow, 0).
Premi «Gioca»: il cerchio brilla dal rosso al giallo, ancora e ancora. Poi premi «Verifica».
Provalo tu
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Glow")
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))
pygame.draw.circle(screen, (255, 120, 0), (240, 180), 60)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Il game loop
Esercitati da solo: Playground Pygame