Wahr oder Falsch
Teil des Abschnitts Python in einem Spielfenster der Pygame-Journey von Coddy. Lektion 14 von 32.
True und False sind eigenständige Werte, sogenannte Booleans. Eine Variable kann einen davon enthalten, wie bei einem Schalter:
lamp_on = FalseEine if-Anweisung kann den Wert direkt prüfen: if lamp_on: wird ausgeführt, wenn der Wert True ist. not kehrt ihn um, sodass lamp_on = not lamp_on die Lampe umschaltet.
Ein Schalter benötigt einen Tastendruck, keine gedrückt gehaltene Taste. get_pressed() ist in jedem Frame True, in dem die Taste gedrückt ist. Dadurch würde die Lampe 60-mal pro Sekunde umgeschaltet. Ein Tastendruck kommt nur einmal als KEYDOWN-Ereignis in der Ereignisschleife am Anfang der Spielschleife an:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
lamp_on = not lamp_onAbschnitt 2 erklärt Ereignisse ausführlich. Vorläufig gilt: event.type gibt an, was passiert ist, und event.key, welche Taste.
Aufgabe
MittelLass die Leertaste die Lampe umschalten:
- Setze im Einrichtungsteil
lamp_on = False. - Wenn in der Ereignisschleife ein
KEYDOWN-Ereignis fürK_SPACEeintrifft, setzelamp_on = not lamp_on. - Zeichne das Licht bei
(320, 290)mit Radius 30:(255, 220, 100), wennlamp_onTrue ist, andernfalls(70, 70, 90).
Probier es selbst
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# Richte hier alles ein, bevor die Spielschleife beginnt.
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Ändere hier die Dinge einmal pro Frame.
screen.fill((20, 24, 48))
# Zeichne hier, nachdem der Hintergrund gefüllt wurde.
pygame.draw.rect(screen, (90, 90, 110), (310, 300, 20, 180))
pygame.draw.circle(screen, (70, 70, 90), (320, 290), 30)
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 Python in einem Spielfenster
3If und Tasten
Am Rand auf die andere SeiteTasten bewegen den MondElif und ElseUnd, OderWahr oder FalschÜbe selbstständig: Pygame-Playground