Menu
CoddyTech

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.

challenge icon

Sfida

Facile
  1. Prima del ciclo, imposta glow = 0.
  2. Nel ciclo, prima di disegnare, aggiungi 3 a glow e mantienilo tra 0 e 255 con % 256.
  3. 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()
quiz iconMettiti alla prova

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