Colori che cambiano
Fa parte della sezione Il game loop del percorso Pygame di Coddy. Lezione 12 di 32.
Un colore è composto da tre numeri, quindi una variabile può essere uno di essi. 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, così il cerchio passa dal rosso all’arancione e poi al giallo.
Ogni componente di un colore deve rimanere tra 0 e 255. A 256 pygame si interrompe con ValueError: invalid color. L’operatore % restituisce il resto di una divisione: 256 % 256 è 0 e 258 % 256 è 2. Quindi (glow + 3) % 256 ricomincia da un valore vicino a 0 invece di superare 255, e il cerchio brilla passando dal rosso al giallo, ancora e ancora.
Sfida
Facile- 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).
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