qq_36837101
hsoalgyer
2016-12-01 09:28
采纳率: 100%
浏览 3.6k

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

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

    点赞 评论
  • devmiao
    devmiao 2016-12-01 15:47
    点赞 评论

相关推荐