Menu
CoddyTech

Die Uhr

Teil des Abschnitts Die Spielschleife der Pygame-Journey von Coddy. Lektion 4 von 32.

Deine Schleife läuft so schnell, wie der Computer kann: auf einem schnellen Rechner Tausende Frames pro Sekunde, auf einem langsamen weniger. Ein Spiel braucht überall dieselbe Geschwindigkeit.

Eine pygame.time.Clock sorgt für das richtige Tempo. Erzeuge eine vor der Schleife und rufe dann clock.tick(60) einmal am Ende jedes Durchlaufs auf. Sie wartet so lange wie nötig, damit die Schleife höchstens 60 Mal pro Sekunde läuft.

clock = pygame.time.Clock()

running = True
while running:
    # Ereignisse, Zeichnen, Bildwechsel
    clock.tick(60)

60 Frames pro Sekunde sind die übliche Rate für flüssige Bewegungen. Von jetzt an bewegt sich etwas, das sich pro Frame um 4 Pixel bewegt, pro Sekunde um 240 Pixel.

challenge icon

Aufgabe

Einfach
  1. Erstelle unterhalb der Zeile set_caption eine Uhr: clock = pygame.time.Clock().
  2. Rufe als letzte Zeile der Schleife, nach dem Flip, clock.tick(60) auf.

Probier es selbst

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Move the Square")

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

pygame.quit()

Alle Lektionen in Die Spielschleife

Übe selbstständig: Pygame-Playground