Menu
CoddyTech

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 zeichnen

Halte 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.

challenge icon

Aufgabe

Einfach

Bewege das Quadrat mit den Pfeiltasten:

  1. Lege vor der Schleife x, y = 220, 160 und speed = 4 fest.
  2. Lies in der Schleife nach den Ereignissen die Tasten mit pygame.key.get_pressed() aus. Jede gedrückt gehaltene Pfeiltaste verändert x oder y um speed.
  3. 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