Menu
CoddyTech

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.

challenge icon

Desafío

Fácil
  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).

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