Auf dem Bildschirm bleiben
Lektion 7 von 40 im Kurs Spiele mit Pygame erstellen von Coddy.
Wenn du lange genug nach rechts gehst, verlässt das Quadrat das Fenster. Damit es drin bleibt, begrenze x und y, nachdem du sie verschoben hast.
min(a, b) liefert die kleinere Zahl und max(a, b) die größere. Zusammen halten sie eine Zahl zwischen zwei Grenzen:
x = max(0, min(x, 480 - 40))min(x, 440) verhindert, dass x über 440 hinausgeht, und max(0, ...) verhindert, dass es unter 0 fällt. Warum 440 und nicht 480? x ist die linke Seite des Quadrats, die rechte Seite liegt also bei x + 40. Bei 440 berührt die rechte Seite den Fensterrand.
Für y gilt dasselbe, mit der Höhe des Fensters.
Aufgabe
EinfachBegrenze nach den vier Pfeiltastenprüfungen und vor dem Füllen das Quadrat auf das Fenster mit den Maßen 480 mal 360: Begrenze x auf den Bereich von 0 bis 440 und y auf den Bereich von 0 bis 320.
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
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
keys = pygame.key.get_pressed()
speed = 4
if keys[pygame.K_SPACE]:
speed = 8
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
1Die Spielschleife
Ein Fenster öffnenDen Hintergrund füllenÜbe selbstständig: Pygame-Playground