Menu
CoddyTech

L'orologio

Fa parte della sezione Il game loop del percorso Pygame di Coddy. Lezione 4 di 32.

Il tuo ciclo viene eseguito alla massima velocità possibile per il computer: migliaia di fotogrammi al secondo su una macchina veloce, meno su una lenta. Un gioco deve avere la stessa velocità ovunque.

Un pygame.time.Clock mantiene il ritmo. Creane uno prima del ciclo, poi chiama clock.tick(60) una volta alla fine di ogni iterazione. Attende il tempo necessario affinché il ciclo venga eseguito al massimo 60 volte al secondo.

clock = pygame.time.Clock()

running = True
while running:
    # eventi, disegno, flip
    clock.tick(60)

60 fotogrammi al secondo è la frequenza abituale per ottenere un movimento fluido. D'ora in poi, qualcosa che si sposta di 4 pixel a ogni fotogramma si sposterà di 240 pixel al secondo.

challenge icon

Sfida

Facile
  1. Sotto la riga set_caption, crea un orologio: clock = pygame.time.Clock().
  2. Come ultima riga del ciclo, dopo il flip, chiama clock.tick(60).

Provalo tu

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

Tutte le lezioni di Il game loop

Esercitati da solo: Playground Pygame