gpt4 book ai didi

python - 在 Pygame、Python 3 中设置固定 FPS

转载 作者:太空宇宙 更新时间:2023-11-03 12:46:01 24 4
gpt4 key购买 nike

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

游戏的大部分内容都位于一个巨大的 while 循环中,每个 tick 都会在其中获取用户输入、渲染 Sprite 等。我的目标是能够设置一个固定的 FPS,使游戏在快或慢的计算机上以相同的速度运行。

当然,我可以使用pygame中的时钟模块:

clock = pygame.time.Clock()

然后在每个循环中调用它:

clock.tick(30)

但这将使游戏的 CAPPED 保持在 30 FPS。因此,如果我将其设置为 500 FPS,它可能仍会像以前一样快速运行。我的目标是,如果我将它设置为 500 FPS,它将以与 500 FPS 相同的速度运行...

那么是否有可能使游戏以固定的 FPS 运行(或产生这样的幻觉),而不管计算机的速度如何 - 或者至少通过使用某种跳帧算法以相同的速度运行?

抱歉,如果该措辞相当困惑。

最佳答案

clock.tick 返回自上次调用 clock.tick 以来的时间。使用该值并在移动时将所有速度乘以它。示例

dt = clock.tick(60)
player.position.x += player.xSpeed * dt
player.position.y += player.ySpeed * dt

这样你的玩家将始终以相同的速度移动,而不管你在 clock.tick() 函数中输入了什么。

重要的是每帧只调用一次clock.tick()

关于python - 在 Pygame、Python 3 中设置固定 FPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35617246/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com