Pfeiltasten
Teil des Abschnitts Die Spielschleife der Pygame-Journey von Coddy. Lektion 5 von 32.
Um das Quadrat zu bewegen, speicherst du seine Position in Variablen und zeichnest es in jedem Frame dort. Ändere die Variablen, und im nächsten Frame wird das Quadrat an einer anderen Stelle angezeigt.
pygame.key.get_pressed() teilt dir mit, welche Tasten gerade gedrückt gehalten werden. Greife mit einer Tastenkonstanten wie pygame.K_RIGHT darauf zu: Das Ergebnis ist True, solange diese Taste gedrückt ist.
x = 100
while running:
# Ereignisse
keys = pygame.key.get_pressed()
if keys[pygame.K_RIGHT]:
x += 4
# füllen, dann bei x zeichnenHalte die rechte Pfeiltaste gedrückt, und das Quadrat bewegt sich in jedem Frame um 4 Pixel, also 240 Pixel pro Sekunde bei 60 Frames pro Sekunde. Die Pfeiltasten sind K_LEFT, K_RIGHT, K_UP und K_DOWN. Nach oben bedeutet einen kleineren y-Wert.
Lege die Variablen vor der Schleife an. Eine Variable, die innerhalb der Schleife gesetzt wird, wird in jedem Frame zurückgesetzt.
Aufgabe
EinfachBewege das Quadrat mit den Pfeiltasten:
- Lege vor der Schleife
x, y = 220, 160undspeed = 4fest. - Lies in der Schleife nach den Ereignissen die Tasten mit
pygame.key.get_pressed()aus. Jede gedrückt gehaltene Pfeiltaste verändertxoderyumspeed. - Zeichne das Quadrat an der Position
(x, y, 40, 40).
Probier es selbst
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Move the Square")
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.rect(screen, (255, 196, 0), (220, 160, 40, 40))
pygame.display.flip()
clock.tick(60)
pygame.quit()
Alle Lektionen in Die Spielschleife
Übe selbstständig: Pygame-Playground