Farben, die sich verändern
Teil des Abschnitts Die Spielschleife der Pygame-Journey von Coddy. Lektion 12 von 35.
Eine Farbe besteht aus drei Zahlen, daher kann eine Variable eine davon sein. Ändere die Variable in jedem Frame, und die Farbe auf dem Bildschirm ändert sich.
glow = 0
while running:
# Ereignisse
glow = (glow + 3) % 256
pygame.draw.circle(screen, (255, glow, 0), (240, 180), 60)In jedem Frame werden zum Grünanteil 3 addiert, sodass sich der Kreis von Rot über Orange zu Gelb färbt.
Jeder Farbanteil muss zwischen 0 und 255 bleiben. Bei 256 wird pygame mit ValueError: invalid color angehalten. Der Operator % liefert den Rest einer Division: 256 % 256 ist 0 und 258 % 256 ist 2. Daher beginnt (glow + 3) % 256 nahe bei 0 erneut, statt 255 zu überschreiten, und der Kreis leuchtet immer wieder von Rot bis Gelb.
Aufgabe
EinfachLass den Kreis von Rot zu Gelb leuchten.
- Setze vor der Schleife
glow = 0. - Addiere in der Schleife vor dem Zeichnen 3 zu
glowund halte den Wert mit% 256zwischen 0 und 255. - Zeichne den Kreis in
(255, glow, 0).
Drücke auf „Spielen“: Der Kreis leuchtet immer wieder von Rot zu Gelb. Drücke dann auf „Prüfen“.
Probier es selbst
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()
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Die Spielschleife
2Formen und Farben
Kreise, Linien, VieleckeUmrisse und EckenEine Szene aus FormenFarben, die sich verändernÜbe selbstständig: Pygame-Playground