当前位置: 首页 > 知识库问答 >
问题:

如何为不同的FPS改编一款游戏?

翟嘉年
2023-03-14

我正在开发一个单人2d游戏。我用的发动机是我自己的。我很困惑如何适应不同的FPS游戏。我希望看到相同的游戏速度,而不管计算机可以处理的帧数。我的意思是,如果你的电脑足够强大,每秒可以画1000次,或者只有20帧,你的游戏速度应该是一样的。

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

事实上,我有一些决定,但它们并不理想:

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

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

共有1个答案

谷梁宏恺
2023-03-14

解决方案与帧速率无关,具有增量时间(自上次渲染以来经过的时间)。

这里有一篇关于delta time的详细文章,并附有大量代码示例:https://isaacsukin . com/news/2015/01/detailed-explain-JavaScript-game-loops-and-timing我认为你不需要像文章描述的那样深入了解解决方案。

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

 类似资料:
  • 本文向大家介绍请你预估一款IP改编游戏后的市场规模。相关面试题,主要包含被问及请你预估一款IP改编游戏后的市场规模。时的应答技巧和注意事项,需要的朋友参考一下

  • 我用Unity3d制作了一个游戏。我想在游戏中制作一个按钮,玩家可以点击这个按钮链接GooglePlay,给我的游戏打分。我需要什么插件,如何做到这一点?我刚找到这个:链接

  • 我已经成功创建了一个系统,允许游戏对象根据时间的变化(而不是帧数的变化)移动。为了练习起见,我现在正在尝试设置FPS限制。 我遇到的问题是,游戏循环的数量是我预期的两倍。例如,如果我尝试将帧数限制为1fps,则在一秒钟内会有2帧通过-一个非常长的帧(~1秒)和一个非常短的帧(~ 15毫秒)。这可以通过输出每个游戏循环之间的时间差(毫秒)来显示-示例输出可能是993、17993、16。。。 我尝试过

  • 我在玩Pygame,做一些简单的游戏只是为了学习它。然而,我很难按照我想要的方式实现fps。 据我所知,fps通常设置为: 然后在整个程序中,我确保每个循环/帧的写入时间为1/60秒,因此我可以,例如,使对象以我想要的速度移动。将滴答声增加到120 fps将使游戏运行过快,而降低滴答声将使游戏运行过慢。 然而,这不是我所熟悉的fps在其他游戏中的工作方式。在大多数游戏中,fps可以随您的需要而变化

  • 在使用Python的OpenCV中,当网络摄像头的fps和目录中的视频文件相同时,为什么视频文件以快进播放,而网络摄像头继续以正常速率显示帧?cv2扮演什么角色。waitKey()函数在此处播放

  • 本文向大家介绍你认为要如何为一款游戏选择合适的代言人?请以一款举例阐述各选择维度的原因。相关面试题,主要包含被问及你认为要如何为一款游戏选择合适的代言人?请以一款举例阐述各选择维度的原因。时的应答技巧和注意事项,需要的朋友参考一下