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ę.
Wyzwanie
ŁatwyUstaw działanie gry na 60 klatek na sekundę.
- Poniżej linii
set_captionutwórz zegar:clock = pygame.time.Clock(). - 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