Spec-Zone.ru › Pygame
pygame.time
модуль pygame для мониторинга времени

Время в pygame представлено в миллисекундах (1/1000 секунды). Большинство платформ имеют ограниченное разрешение времени около 10 миллисекунд. Это разрешение в миллисекундах указано в константе TIMER_RESOLUTION.

pygame.time.get_ticks()
получить время в миллисекундах
get_ticks() -> миллисекунды

Возвращает количество миллисекунд, прошедших с момента вызова pygame.init(). Перед инициализацией pygame это всегда будет 0.

pygame.time.wait()
приостановить программу на определенное время
wait(миллисекунды) -> время

Приостановит выполнение программы на заданное количество миллисекунд. Эта функция приостанавливает процесс, чтобы уступить процессор другим программам. Программа, которая ждет даже несколько миллисекунд, будет потреблять очень мало времени процессора. Она немного менее точна, чем функция pygame.time.delay().

Возвращает фактическое количество использованных миллисекунд.

pygame.time.delay()
приостановить программу на определенное время
delay(миллисекунды) -> время

Приостановит выполнение программы на заданное количество миллисекунд. Эта функция будет использовать процессор (вместо приостановки), чтобы сделать задержку более точной, чем pygame.time.wait().

Возвращает фактическое количество использованных миллисекунд.

pygame.time.set_timer()
повторно создавать событие в очереди событий
set_timer(событие, миллис) -> None
set_timer(событие, миллис, циклы=0) -> None

Устанавливает событие, которое будет появляться в очереди событий через заданное количество миллисекунд. Первое событие появится только после того, как пройдет это время.

Атрибут event может быть объектом pygame.event.Event или целочисленным типом, обозначающим событие.

loops — это целое число, обозначающее количество созданных событий. Если 0 (по умолчанию), события будут постоянно создаваться, пока явно не остановлены.

Чтобы отключить таймер для такого события, вызовите функцию ещё раз с тем же аргументом события, установив аргумент millis в 0.

Стоит также отметить, что определенный тип события может быть установлен на таймер только один раз. Другими словами, не может быть двух таймеров для одного и того же типа события. Установка таймера события для конкретного события отбрасывает старый таймер для этого типа события.

loops заменяет аргумент once, и это не нарушает обратную совместимость.

New in pygame 2.0.0.dev3: добавлен аргумент once.

Изменено в pygame 2.0.1: аргумент события поддерживает объект pygame.event.Event

New in pygame 2.0.1: аргумент циклы добавлен для замены аргумента once.

pygame.time.Clock
создать объект для отслеживания времени
Clock() -> Clock

Создаёт новый объект Clock, который можно использовать для отслеживания времени. Часы также предоставляют несколько функций для управления частотой кадров игры.

tick()
обновить часы
tick(частота_кадров=0) -> миллисекунды

Этот метод должен вызываться один раз за кадр. Он вычислит, сколько миллисекунд прошло с момента предыдущего вызова.

Если вы передадите необязательный аргумент частоты кадров, функция будет задерживать выполнение, чтобы игра работала медленнее, чем заданные кадры в секунду. Это можно использовать для ограничения скорости выполнения игры. Вызвав Clock.tick(40) один раз за кадр, программа никогда не будет выполняться быстрее 40 кадров в секунду.

Обратите внимание, что эта функция использует функцию SDL_Delay, которая не является точной на всех платформах, но не сильно нагружает процессор. Используйте tick_busy_loop, если вам нужен точный таймер, и вы не против загрузить процессор.

tick_busy_loop()
обновить часы
tick_busy_loop(частота_кадров=0) -> миллисекунды

Этот метод должен вызываться один раз за кадр. Он вычислит, сколько миллисекунд прошло с момента предыдущего вызова.

Если вы передадите необязательный аргумент частоты кадров, функция будет задерживать выполнение, чтобы игра работала медленнее, чем заданные кадры в секунду. Это можно использовать для ограничения скорости выполнения игры. Вызвав Clock.tick_busy_loop(40) один раз за кадр, программа никогда не будет выполняться быстрее 40 кадров в секунду.

Обратите внимание, что эта функция использует pygame.time.delay(), которая использует много процессорного времени в цикле для обеспечения большей точности тайминга.

New in pygame 1.8.

get_time()
время, использованное в предыдущем тике
get_time() -> миллисекунды

Количество миллисекунд, прошедших между двумя предыдущими вызовами Clock.tick().

get_rawtime()
фактическое время, использованное в предыдущем тике
get_rawtime() -> миллисекунды

Аналогично Clock.get_time(), но не включает время, потраченное на задержку Clock.tick(), чтобы ограничить частоту кадров.

get_fps()
вычислить частоту кадров часов
get_fps() -> float

Вычисляет частоту кадров вашей игры (в кадрах в секунду). Она вычисляется путем усреднения последних десяти вызовов Clock.tick().




Изменить на GitHub

© Pygame Developers.
Licensed under the GNU LGPL License version 2.1.
https://www.pygame.org/docs/ref/time.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API