【问题标题】:How to adapt a game for different FPS?如何使游戏适应不同的FPS?
【发布时间】:2018-03-05 17:01:27
【问题描述】:

我正在开发一款单人 2d 游戏。我使用的引擎是我自己的。我对如何使游戏适应不同的 FPS 感到困惑。 无论计算机可以使用多少帧,我都希望看到相同的游戏速度。我的意思是,如果您的计算机足够强大,可以每秒绘制 1000 次或者只有 20 帧,那么您的游戏速度应该是一样的。

我尝试根据 FPS 自动更改移动参数,但似乎无法连接。

实际上,我对此有一些决定,但并不理想:

第一个是将 FPS 限制为 30(例如),因此,即使性能不佳的计算机也可以正确显示游戏。 - 很简单的决定,但动作的流畅度不是最好的。

第二个:游戏循环(以及所有计算)以最大频率 (60 FPS) 进行,但屏幕以特定速率绘制,具体取决于计算机性能。 - 在这种情况下,RAM 的负载会更大。

【问题讨论】:

  • 我建议根据经过的时间(与帧率无关)进行数学运算

标签: game-engine frame-rate game-loop


【解决方案1】:

解决方案是独立于帧率和增量时间(自上次渲染以来经过的时间)。

这是一篇关于增量时间的详细文章,其中包含大量代码示例: https://isaacsukin.com/news/2015/01/detailed-explanation-javascript-game-loops-and-timing 我认为您不需要像文章描述的那样深入研究解决方案。

以下是对该概念的解释: https://www.reddit.com/r/pcmasterrace/comments/29qcqr/an_explanation_of_game_loops_fps_and_delta_time/

【讨论】:

    猜你喜欢
    • 2010-11-14
    • 1970-01-01
    • 2014-11-08
    • 1970-01-01
    • 2012-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-16
    相关资源
    最近更新 更多