求教,pygame中怎么控制帧率,看了文档还是弄不明白

网上看了很久,都是组合 pygame.time.get_ticks()与**pygame.time.Clock()**这两个函数实现的,具体怎么用看了半天依然没明白,谁哪位大牛解释一下不

2个回答

pygame.time.Clock()是一个类,这个类有一个方法叫做tick()。当不提供参数时,tick方法返回上次调用该方法到此次调用的时间间隔(单位为ms)。tick也可以接受一个参数fps,即帧率。当提供fps时,tick方法被调用时会先计算时间间隔,如果时间间隔小于帧率的指定值(比方说帧率是50,那么就应该是20ms一帧),程序就会在原处等待,直到到达指定的时间间隔才会继续执行(比如它运行到tick发现上一个循环只用了5ms,那么他就会在tick这里等15ms才继续往下运行)。
具体的使用方法如下:

#首先创建一个Clock类的实例
clock = pygame.time.Clock()
#然后在主循环中调用clock的方法tick
while True:
clock.tick(60) #帧率设为60
...
pygame.display.update()

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐