Часы
Урок 4 из 41 курса Создавайте игры с Pygame на Coddy.
Ваш цикл выполняется так быстро, как позволяет компьютер: тысячи кадров в секунду на быстром компьютере, меньше — на медленном. Игра должна работать с одинаковой скоростью везде.
pygame.time.Clock задаёт темп. Создайте объект перед циклом, затем вызывайте clock.tick(60) один раз в конце каждой итерации. Он ждёт столько, сколько нужно, чтобы цикл выполнялся не чаще 60 раз в секунду.
clock = pygame.time.Clock()
running = True
while running:
# обработка событий, отрисовка, обновление экрана
clock.tick(60)60 кадров в секунду — обычная частота для плавного движения. Начиная с этого момента объект, который перемещается на 4 пикселя за кадр, перемещается на 240 пикселей в секунду.
Задание
ЛегкоСделай так, чтобы игра работала со скоростью 60 кадров в секунду.
- Под строкой
set_captionсоздай часы:clock = pygame.time.Clock(). - Вызови
clock.tick(60)последней строкой цикла, после переворота экрана.
Нажми «Играть»: квадрат выглядит так же, но теперь рисуется 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
Потренируйтесь самостоятельно: Песочница Pygame