Menu
CoddyTech
flag Ru iconРусскийdown icon

Часы

Урок 4 из 40 курса Создавай игры на Pygame на Coddy.

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

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. В качестве последней строки цикла, после переворота, вызови 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()
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Создавай игры на Pygame

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