hsoalgyer 2016-12-01 09:28 采纳率: 100%
浏览 4091
已采纳

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

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

  • 写回答

2条回答 默认 最新

  • fubin1999 2020-05-04 13:10
    关注

    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()

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换