Menu
CoddyTech

Colores que cambian

Parte de la sección El bucle del juego del Journey de Pygame de Coddy. Lección 12 de 35.

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 cambiará en la pantalla.

glow = 0

while running:
    # eventos
    glow = (glow + 3) % 256
    pygame.draw.circle(screen, (255, glow, 0), (240, 180), 60)

En cada fotograma se suman 3 a la parte verde, así que el círculo cambia de rojo a naranja y luego a amarillo.

Todos los componentes de un color deben mantenerse entre 0 y 255. En 256, pygame se detiene con ValueError: invalid color. El operador % devuelve el resto de una división: 256 % 256 es 0 y 258 % 256 es 2. Así que (glow + 3) % 256 vuelve a empezar cerca de 0 en lugar de superar 255, y el círculo brilla en un ciclo continuo de rojo a amarillo.

challenge icon

Desafío

Fácil

Haz que el círculo brille de rojo a amarillo.

  1. Antes del bucle, establece glow = 0.
  2. En el bucle, antes de dibujar, suma 3 a glow y mantenlo entre 0 y 255 con % 256.
  3. Dibuja el círculo en (255, glow, 0).

Pulsa «Jugar»: el círculo brilla de rojo a amarillo una y otra vez. Después, pulsa «Comprobar».

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()
quiz iconPonte a prueba

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

Practica por tu cuenta: Playground de Pygame