O Relógio
Lição 4 de 41 do curso Crie jogos com Pygame da Coddy.
Seu laço executa tão rápido quanto o computador consegue: milhares de quadros por segundo em uma máquina rápida, menos em uma máquina lenta. Um jogo precisa ter a mesma velocidade em todos os lugares.
Um pygame.time.Clock mantém o ritmo. Crie um antes do laço e, em seguida, chame clock.tick(60) uma vez no final de cada passagem. Ele espera o tempo necessário para que o laço execute no máximo 60 vezes por segundo.
clock = pygame.time.Clock()
running = True
while running:
# eventos, desenho, flip
clock.tick(60)60 quadros por segundo é a taxa usual para um movimento suave. A partir de agora, algo que se move 4 pixels a cada quadro se move 240 pixels por segundo.
Desafio
FácilFaça o jogo rodar a 60 quadros por segundo.
- Abaixo da linha
set_caption, crie um relógio:clock = pygame.time.Clock(). - Como última linha do loop, depois do flip, chame
clock.tick(60).
Pressione “Jogar”: o quadrado parece igual, agora desenhado 60 vezes por segundo. Depois, pressione “Verificar”.
Experimente você mesmo
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 as lições de Crie jogos com Pygame
Pratique por conta própria: Playground de Pygame