Menu
CoddyTech

Sprinten

Lektion 6 von 40 im Kurs Spiele mit Pygame erstellen von Coddy.

Eine Variable kann sich in jedem Frame ändern, abhängig davon, was der Spieler tut. Hier hängt die Geschwindigkeit davon ab, ob die Leertaste gedrückt gehalten wird.

keys = pygame.key.get_pressed()
speed = 4
if keys[pygame.K_SPACE]:
    speed = 8

Jeder Frame beginnt mit der normalen Geschwindigkeit 4. Nur in einem Frame, in dem die Leertaste gedrückt ist, wird sie auf 8 erhöht. Lass die Leertaste los, und im nächsten Frame ist die Geschwindigkeit wieder 4.

Lege zuerst den normalen Wert fest und danach den besonderen. In der umgekehrten Reihenfolge hat die zweite Zeile immer Vorrang, und die Leertaste bewirkt nichts.

challenge icon

Aufgabe

Einfach

Lass den Spieler sprinten:

  1. Entferne speed = 4 oberhalb der Schleife.
  2. Setze innerhalb der Schleife direkt nach keys = pygame.key.get_pressed() speed = 4 und setze den Wert dann auf 8, wenn die Leertaste gedrückt gehalten wird.

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()

x, y = 220, 160
speed = 4

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        x -= speed
    if keys[pygame.K_RIGHT]:
        x += speed
    if keys[pygame.K_UP]:
        y -= speed
    if keys[pygame.K_DOWN]:
        y += speed

    screen.fill((30, 30, 46))
    pygame.draw.rect(screen, (255, 196, 0), (x, y, 40, 40))
    pygame.display.flip()
    clock.tick(60)

pygame.quit()
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Spiele mit Pygame erstellen

Übe selbstständig: Pygame-Playground