2016-02-23 38 views
1

我目前正在使用PyGame(Python 3)制作游戏,并且正在寻找一种让游戏以固定FPS运行的方法。在Python 3游戏中设置固定的FPS

大部分游戏都位于一个巨大的while循环中,用户输入的位置,精灵的渲染等。我的问题是,在慢速计算机上运行游戏很好,但在快速运行游戏时会使游戏速度过快。当然,我可以在循环结尾添加一个time.sleep()命令,但是在慢速计算机上游戏运行速度太慢。

有没有办法让循环花费一定的时间来运行?提前致谢。

回答

1

在pygame中使用时钟模块。

clock = pygame.time.Clock() 

然后在你的主循环调用这个曾经每帧:

clock.tick(30) # Now your game will be capped at 30 fps 

想了解更多关于时钟模块这里是文档:http://www.pygame.org/docs/ref/time.html