Zmieniające się kolory
Część sekcji Pętla gry ścieżki Pygame w Coddy. Lekcja 12 z 35.
Kolor składa się z trzech liczb, więc zmienna może być jedną z nich. Zmieniaj zmienną w każdej klatce, a kolor będzie się zmieniać na ekranie.
glow = 0
while running:
# zdarzenia
glow = (glow + 3) % 256
pygame.draw.circle(screen, (255, glow, 0), (240, 180), 60)Każda klatka dodaje 3 do składowej zielonej, więc koło zmienia kolor z czerwonego przez pomarańczowy na żółty.
Każda składowa koloru musi mieścić się w zakresie od 0 do 255. Przy 256 pygame zatrzymuje działanie z błędem ValueError: invalid color. Operator % zwraca resztę z dzielenia: 256 % 256 wynosi 0, a 258 % 256 wynosi 2. Dlatego (glow + 3) % 256 zaczyna ponownie w pobliżu 0 zamiast przekraczać 255, a koło raz za razem świeci od czerwieni do żółci.
Wyzwanie
ŁatwySpraw, aby koło świeciło od czerwieni do żółci.
- Przed pętlą ustaw
glow = 0. - W pętli, przed rysowaniem, dodaj 3 do
glowi utrzymuj jego wartość w zakresie od 0 do 255 za pomocą% 256. - Narysuj koło w kolorze
(255, glow, 0).
Naciśnij „Graj”: koło będzie świecić od czerwieni do żółci, raz za razem. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
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()
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Pętla gry
Poćwicz samodzielnie: Edytor online Pygame