Cores que Mudam
Parte da seção O loop do jogo do Journey de Pygame da Coddy. Lição 12 de 32.
Uma cor é composta por três números, então uma variável pode ser um deles. Altere a variável a cada quadro e a cor muda na tela.
glow = 0
while running:
# eventos
glow = (glow + 3) % 256
pygame.draw.circle(screen, (255, glow, 0), (240, 180), 60)A cada quadro, são adicionadas 3 unidades à parte verde, então o círculo muda de vermelho, passando por laranja, até amarelo.
Cada componente de uma cor deve permanecer entre 0 e 255. Em 256, o pygame para com ValueError: invalid color. O operador % fornece o resto de uma divisão: 256 % 256 é 0 e 258 % 256 é 2. Assim, (glow + 3) % 256 recomeça perto de 0 em vez de passar de 255, e o círculo brilha de vermelho a amarelo repetidamente.
Desafio
Fácil- Antes do loop, defina
glow = 0. - No loop, antes de desenhar, some 3 a
glowe mantenha-o entre 0 e 255 com% 256. - Desenhe o círculo em
(255, glow, 0).
Experimente você mesmo
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()
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de O loop do jogo
Pratique por conta própria: Playground de Pygame