Zmieniające się kolory
Część sekcji Pętla gry ścieżki Pygame w Coddy. Lekcja 12 z 32.
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 i wyświetla ValueError: invalid color. Operator % zwraca resztę z dzielenia: 256 % 256 to 0, a 258 % 256 to 2. Dlatego (glow + 3) % 256 zaczyna ponownie od wartości bliskiej 0 zamiast przekraczać 255, a koło wciąż rozświetla się od czerwieni do żółci.
Wyzwanie
Łatwy- 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 okrąg w kolorze
(255, glow, 0).
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
2Kształty i kolory
Okręgi, linie i wielokątyKontury i narożnikiScena z kształtówZmieniające się koloryPoćwicz samodzielnie: Edytor online Pygame