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 = 8Jeder 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.
Aufgabe
EinfachLass den Spieler sprinten:
- Entferne
speed = 4oberhalb der Schleife. - Setze innerhalb der Schleife direkt nach
keys = pygame.key.get_pressed()speed = 4und setze den Wert dann auf8, 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()
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