Menu
CoddyTech

Die Uhr

Lektion 4 von 41 im Kurs Spiele mit Pygame erstellen von Coddy.

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

Eine pygame.time.Clock gibt das Tempo vor. Erstelle sie 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, Flip
    clock.tick(60)

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

challenge icon

Aufgabe

Einfach

Lass das Spiel mit 60 Bildern pro Sekunde laufen.

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

Drücke „Spielen“: Das Quadrat sieht gleich aus und wird jetzt 60-mal pro Sekunde gezeichnet. Drücke dann „Prüfen“.

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 Spiele mit Pygame erstellen

Übe selbstständig: Pygame-Playground