Pygame 官方文档 - pygame.time

Pygame的time模块用于管理时间,提供获取毫秒时间戳、暂停程序、设置定时事件和创建Clock对象等功能。Clock对象有助于限制游戏帧率,tick()和tick_busy_loop()方法分别使用不同方式实现帧率限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pygame.time

用于管理时间的pygame模块
pygame.time.get_ticks - 以毫秒为单位获取时间
pygame.time.wait - 暂停程序一段时间
pygame.time.delay - 暂停程序一段时间
pygame.time.set_timer - 在事件队列上重复创建一个事件
pygame.time.Clock - 创建一个对象来帮助跟踪时间

        pygame中的时间以毫秒(1/1000秒)表示。 大多数平台的时间分辨率有限,大约为10毫秒。 此分辨率(以毫秒为单位)在TIMER_RESOLUTION常量中给出。
 

pygame.time.get_ticks()

以毫秒为单位获取时间
get_ticks() -> milliseconds
返回自调用pygame.init()以来的毫秒数。 在pygame初始化之前,这将始终为0。
搜索pygame.time.get_ticks的示例

pygame.time.wait()

暂停程序一段时间
wait(milliseconds) -> time
将暂停一段给定的毫秒数。 此函数会暂停进程以便与其他程序共享处理器【processor】。 等待几毫秒的程序将消耗非常少的处理器时间。 它的精度比pygame.time.delay()函数稍微低一些。
这将返回实际被使用的毫秒数。
搜索pygame.time.wait的示例

pygame.time.delay()

暂停程序一段时间
delay(milliseconds) -> time
将暂停一段给定的毫秒数。 此函数将使用处理器平【processor】(而不是休眠),以使延迟比pygame.time.wait()更准确。
这将返回实际被使用的毫秒数。
搜索pygame.time.delay的示例

pygame.time.set_timer()

在事件队列上重复创建一个事件
set_timer(eventid, milliseconds) -> None
将事件类型设置为每隔给定的毫秒数出现在在事件队列中。 第一个事件将在经过一段时间后才会出现。
每种事件类型都可以附加一个单独的计时器。 最好使用pygame.USEREVENT和pygame.NUMEVENTS之间的值。
要禁用事件的计时器,请将milliseconds参数设置为0。
搜索pygame.time.set_timer的示例
 

pygame.time.Clock

创建一个对象来帮助跟踪时间
Clock() -> Clock
pygame.time.Clock.tick - 更新clock对象
pygame.time.Clock.tick_busy_loop - 更新clock对象
pygame.time.Clock.get_time - 上一个tick中使用的时间
pygame.time.Clock.get_rawtime - 上一个tick中使用的实际时间
pygame.time.Clock.get_fps - 计算clock对象的帧率
创建一个新的Clock对象,可用于跟踪一段时间。 Clock对象还提供了几个函数来帮助控制游戏的帧速率。
 

pygame.time.Clock.tick()

更新clock对象
tick(framerate=0) -> milliseconds
:sg:->
应该每帧调用一次此方法。 它将计算自上次调用以来经过的毫秒数。
如果传递可选的帧率参数,该函数将延迟以使游戏运行速度低于每秒给定的tick数。 这可以用于帮助限制游戏的运行时速度。 通过每帧调用一次Clock.tick(40),程序将永远不会超过每秒40帧。
请注意,此函数使用SDL_Delay函数,该函数在每个平台上都不准确,但不会占用太多CPU。 如果你想要一个准确的计时器,请使用tick_busy_loop,并且不介意咀嚼(chewing )CPU。
搜索pygame.time.Clock.tick的示例

pygame.time.Clock.tick_busy_loop()

更新clock对象
tick_busy_loop(framerate=0) -> milliseconds
:sg:->
应该每帧调用一次此方法。 它将计算自上次调用以来经过的毫秒数。
如果传递可选的帧率参数,该函数将延迟以使游戏运行速度低于每秒给定的tick数。 这可以用于帮助限制游戏的运行时速度。 通过每帧调用一次Clock.tick_busy_loop(40),程序将永远不会超过每秒40帧。
请注意,此函数使用pygame.time.delay()暂停程序一段时间,在繁忙循环中使用大量CPU以确保时间更准确。
pygame 1.8.0中的新功能。
搜索pygame.time.Clock.tick_busy_loop的示例

pygame.time.Clock.get_time()

上一个tick中使用的时间
get_time() -> milliseconds
前两次调用Clock.tick()之间传递的毫秒数。
搜索pygame.time.Clock.get_time的示例

pygame.time.Clock.get_rawtime()

上一个tick中使用的实际时间
get_rawtime() -> milliseconds
与Clock.get_time()类似,但不包括Clock.tick()延迟限制帧速率时使用的任何时间。
搜索pygame.time.Clock.get_rawtime的示例

pygame.time.Clock.get_fps()

计算clock对象的帧率
get_fps() -> float
计算游戏的帧速率(以帧数每秒为单位)。 它是通过平均最后十次调用Clock.tick()来计算的。
搜索pygame.time.Clock.get_fps的示例
 

以上文档,自己翻译,可能有误,可参考:pygame.time

点我回顶部

 
 
 
 
 
 
Fin.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值