Menu
CoddyTech

Часы

Часть раздела Игровой цикл путешествия по Pygame на Coddy. Урок 4 из 32.

Ваш цикл выполняется с максимально возможной для компьютера скоростью: тысячи кадров в секунду на быстром компьютере, меньше — на медленном. Игра должна везде работать с одинаковой скоростью.

pygame.time.Clock задаёт темп. Создайте такой объект перед циклом, затем вызывайте clock.tick(60) один раз в конце каждого прохода. Он ждёт столько, сколько нужно, чтобы цикл выполнялся не чаще 60 раз в секунду.

clock = pygame.time.Clock()

running = True
while running:
    # события, отрисовка, обновление экрана
    clock.tick(60)

60 кадров в секунду — обычная частота для плавного движения. Теперь объект, который перемещается на 4 пикселя за кадр, будет перемещаться на 240 пикселей в секунду.

challenge icon

Задание

Легко
  1. Под строкой set_caption создай часы: clock = pygame.time.Clock().
  2. В качестве последней строки цикла, после flip, вызови clock.tick(60).

Попробуйте сами

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

Все уроки раздела Игровой цикл

Потренируйтесь самостоятельно: Песочница Pygame