首页 > 解决方案 > Pygame中基于FPS制作延时

问题描述

我看到的关于制作时间延迟的每一个教程或答案都是基于 pygame 滴答声,这意味着延迟永远不会是你想要的长度(更不用说一半的时间我什至不确定代码如何实际上会延迟任何事情)。什么是让某事在经过一定时间后才发生的好方法,但基于经过了多少帧而不是毫秒?

只是一个额外的注释,因为这被标记为重复 - 这是一个“重复”的问题是询问使用 pygame 滴答声,这是关于基于帧而不是毫秒的时间。

标签: pythonpython-3.xpygame

解决方案


您可以在主 while 循环中有一个计数器,它会在每次迭代时递增,并且if如果计数器超过某个数字,则会发生一些事情,例如:

ctr = 0
frames = 100
while True:
    if ctr >= frames:
        make_something_happen()
    ctr += 1
    handle_pygame_stuff()

推荐阅读