Menu
CoddyTech

O Relógio

Parte da seção O loop do jogo do Journey de Pygame da Coddy. Lição 4 de 32.

Seu loop é executado 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 loop e, em seguida, chame clock.tick(60) uma vez no final de cada iteração. Ele espera o tempo necessário para que o loop seja executado 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 percorre 240 pixels por segundo.

challenge icon

Desafio

Fácil
  1. Abaixo da linha set_caption, crie um relógio: clock = pygame.time.Clock().
  2. Como última linha do loop, após a inversão, chame clock.tick(60).

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 O loop do jogo

Pratique por conta própria: Playground de Pygame