Colores que cambian
Parte de la sección El bucle del juego del Journey de Pygame de Coddy. Lección 12 de 32.
Un color consta de tres números, así que una variable puede ser uno de ellos. Cambia la variable en cada fotograma y el color cambia en la pantalla.
glow = 0
while running:
# eventos
glow = (glow + 3) % 256
pygame.draw.circle(screen, (255, glow, 0), (240, 180), 60)Cada fotograma suma 3 a la parte verde, así que el círculo pasa del rojo al naranja y luego al amarillo.
Cada componente de un color debe mantenerse entre 0 y 255. En 256, pygame se detiene con ValueError: invalid color. El operador % da el resto de una división: 256 % 256 es 0 y 258 % 256 es 2. Así, (glow + 3) % 256 vuelve a empezar cerca de 0 en lugar de pasar de 255, y el círculo brilla del rojo al amarillo una y otra vez.
Desafío
Fácil- Antes del bucle, establece
glow = 0. - En el bucle, antes de dibujar, suma 3 a
glowy mantenlo entre 0 y 255 con% 256. - Dibuja el círculo en
(255, glow, 0).
Pruébalo tú mismo
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 lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de El bucle del juego
1Mueve un cuadrado
Abre una ventanaRellena el fondo4Movimiento basado en el tiempo
Tiempo deltaPíxeles por segundoVector2Aceleración y fricciónReaparecer al otro lado de la pantalla2Formas y colores
Círculos, líneas y polígonosContornos y esquinasUna escena de formasColores que cambianPractica por tu cuenta: Playground de Pygame