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.
Aufgabe
EinfachLass das Spiel mit 60 Bildern pro Sekunde laufen.
- Erstelle unter der Zeile
set_captioneine Uhr:clock = pygame.time.Clock(). - 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