1

现在我尝试用 raylib 和 c++ 制作一个小游戏。现在我只有一个小立方体和一个普通的窗口,角落里有 FPS。因为我不想使用 SetTargetFPS() 我试图实现 deltaTime。

现在我也在计算它,它工作正常,当 FPS 稳定时,例如:立方体以稳定的 200 FPS 移动的速度与稳定的 60 FPS 一样快,但是当我摆脱 SetTargetFPS() 时,所以我FPS不稳定,在2000FPS和1000FPS之间跳跃,移动速度不好。

我这样计算 deltaTime:

oldTime = newTime;
newTime = GetTime();
deltaTime = (newTime - oldTime) * 500;

这也有效,我在 sma FPS 上的数字非常相似。

这就是我移动东西的方式:

newPosX = posX + addX * deltaTime;

有人知道为什么会这样吗?

谢谢

4

1 回答 1

2

我是 raylib 的新手,但我相信该GetFrameTime()功能是您正在寻找的。这是备忘单中的片段:

float GetFrameTime(void);        // Returns time in seconds for last frame drawn
于 2020-12-16T18:17:04.997 回答