Pygame/time

pygame.time

用于监测时间的 pygame 模块

时间在 pygame 中以毫秒计。多数操作系统的时间精度有限,约为10毫秒。该精度储存于 TIMER_RESOLUTION 常量中。

本节原文

pygame.time.get_ticks()

获得以毫秒计的时间

get_ticks() → 毫秒

返回自 pygame.init() 以来的时间。在此之前只会返回0。

pygame.time.wait()

暂停程序一段时间

wait(milliseconds毫秒) → 实际延迟的毫秒数

该方法会使进程睡眠,让出 CPU 供其他进程使用。

下面这个方法比本方法更精确一点,但会占用 CPU。

pygame.time.delay()

暂停程序一段时间(占用CPU)

delay(milliseconds毫秒) → 实际延迟的毫秒数

该方法会占用 CPU 以实现比 wait() 更精确的延迟。

pygame.time.set_timer()

重复地在事件队列上创建事件

set_timer(eventid事件 IDmilliseconds毫秒)→ None

set_timer(eventid事件 IDmilliseconds毫秒, once一次性)→ None(2.0.0+)

设置事件类型,使其每隔给定的毫秒数出现在事件队列中。首次事件不会立即发生。

每个事件类型都可以附加一个单独的计时器。建议使用pygame.USEREVENT和pygame.NUMEVENTS之间的值。

要为事件禁用计时器,请将毫秒参数设置为0。

如果参数 once 为 True,则仅发送一次计时器。

pygame.time.Clock

创建帮助监测时间和控制帧频的对象

Clock() → Clock 对象

创建一个新的 Clock 对象,可以用于监测时间量。Clock 还提供了几个用于控制帧频的函数。

本节原文

pygame.time.Clock.tick()

延迟一帧

tick(framerate帧频=0) → 延迟的毫秒数

每帧调用一次 Clock.tick(60) 以控制帧频不高于60FPS。

下面这个方法比本方法更精确一点,但会占用 CPU。

pygame.time.Clock.tick_busy_loop()

延迟一帧(占用CPU)

tick_busy_loop(framerate帧频=0) → 延迟的毫秒数

  • 根据 Milowork 测试,tick() 和 tick_busy_loop() 仅支持整数毫秒,即输入60实际上会使程序运行在至多62.5FPS。

pygame.time.Clock.get_time()

上一帧所用的时间

get_time() → 毫秒

获取对 Clock.tick() 的最近两次调用相差的毫秒数。

pygame.time.Clock.get_rawtime()

上一帧所用的实际时间

get_rawtime() → 毫秒

和 Clock.get_time() 类似,但不含 Clock.tick() 所消耗的时间。

pygame.time.Clock.get_fps()

获取每秒帧数

get_fps() → 浮点数

根据对 Clock.tick 的最近十次调用生成。

pygame 文档中文翻译
常用ColordisplaydraweventfontimagekeylocalsmixermouseRectSurfacetimemusicpygame
高级cursorsjoystickmaskspritetransformBufferProxyfreetypegfxdrawmidiOverlayPixelArraypixelcopysndarraysurfarraymath
其它cameracdromscraptestssurfarrayversion
链接官网英文文档日文译文