El reloj
Parte de la sección El bucle del juego del Journey de Pygame de Coddy. Lección 4 de 32.
Tu bucle se ejecuta tan rápido como puede la computadora: miles de fotogramas por segundo en una máquina rápida, menos en una lenta. Un juego necesita la misma velocidad en todas partes.
Un pygame.time.Clock mantiene el ritmo. Crea uno antes del bucle y luego llama a clock.tick(60) una vez al final de cada iteración. Espera el tiempo necesario para que el bucle se ejecute como máximo 60 veces por segundo.
clock = pygame.time.Clock()
running = True
while running:
# eventos, dibujo, actualización de pantalla
clock.tick(60)60 fotogramas por segundo es la velocidad habitual para un movimiento fluido. A partir de ahora, algo que se mueve 4 píxeles en cada fotograma se mueve 240 píxeles por segundo.
Desafío
Fácil- Debajo de la línea
set_caption, crea un reloj:clock = pygame.time.Clock(). - Como última línea del bucle, después de la inversión, llama a
clock.tick(60).
Pruébalo tú mismo
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()
Todas las lecciones de El bucle del juego
1Mueve un cuadrado
Abre una ventanaRellena el fondo4Movimiento basado en el tiempo
Tiempo deltaPíxeles por segundoVector2Aceleración y fricciónReaparecer al otro lado de la pantallaPractica por tu cuenta: Playground de Pygame