Menu
CoddyTech

Zegar

Lekcja 4 z 41 w kursie Twórz gry w Pygame w Coddy.

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

pygame.time.Clock utrzymuje tempo. Utwórz obiekt przed pętlą, a następnie wywołuj clock.tick(60) raz na końcu każdego przebiegu. Funkcja czeka tyle, ile potrzeba, aby pętla wykonywała się najwyżej 60 razy na sekundę.

clock = pygame.time.Clock()

running = True
while running:
    # zdarzenia, rysowanie, flip
    clock.tick(60)

60 klatek na sekundę to standardowa częstotliwość zapewniająca płynny ruch. Od teraz obiekt, który przesuwa się o 4 piksele w każdej klatce, pokonuje 240 pikseli na sekundę.

challenge icon

Wyzwanie

Łatwy

Ustaw działanie gry na 60 klatek na sekundę.

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

Naciśnij „Graj”: kwadrat wygląda tak samo, ale teraz jest rysowany 60 razy na sekundę. Następnie naciśnij „Sprawdź”.

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 Twórz gry w Pygame

Poćwicz samodzielnie: Edytor online Pygame