Menu
CoddyTech

Zegar

Część sekcji Pętla gry ścieżki Pygame w Coddy. Lekcja 4 z 32.

Twoja pętla działa tak szybko, jak pozwala komputer: na szybkim komputerze tysiące klatek na sekundę, a na wolnym mniej. Gra powinna działać z taką samą szybkością wszędzie.

pygame.time.Clock utrzymuje tempo. Utwórz jeden obiekt przed pętlą, a następnie wywołuj clock.tick(60) raz pod koniec każdego przebiegu. Poczeka tyle, ile trzeba, aby pętla wykonywała się najwyżej 60 razy na sekundę.

clock = pygame.time.Clock()

running = True
while running:
    # zdarzenia, rysowanie, odświeżenie ekranu
    clock.tick(60)

60 klatek na sekundę to typowa wartość zapewniająca płynny ruch. Od teraz coś, co przesuwa się o 4 piksele w każdej klatce, będzie przesuwać się o 240 pikseli na sekundę.

challenge icon

Wyzwanie

Łatwy
  1. Pod wierszem set_caption utwórz zegar: clock = pygame.time.Clock().
  2. Jako ostatnią linię pętli, po wywołaniu flip, wywołaj clock.tick(60).

Spróbuj swoich sił

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

Wszystkie lekcje w sekcji Pętla gry

Poćwicz samodzielnie: Edytor online Pygame