如何解决即使使用DeltaTime,C ++ Raylib也可以以不同的FPS进行不同的移动速度
现在我尝试使用raylib和c ++制作一个小型游戏。 现在,Rigth我只有一个小立方体和一个带有FPS拐角的普通窗口。 因为我不想使用SetTargetFPS(),我试图实现deltaTime。
现在,Rigth也在计算它,并且当FPS稳定时,它也可以正常工作,例如: 立方体在稳定的200 FPS下的移动速度与稳定的60 FPS一样快,但是当我摆脱SetTargetFPS()时,我的FPS不稳定并且在2000FPS和1000FPS之间跳跃,移动速度并不好。
我这样计算deltaTime:
oldTime = newTime;
newTime = GetTime();
deltaTime = (newTime - oldTime) * 500;
这也有效,并且在sma FPS上我的数字非常相似。
这就是我移动事物的方式:
newPosX = posX + addX * deltaTime;
有人知道为什么会这样吗?
谢谢
解决方法
我是raylib的新手,但我相信GetFrameTime()
函数是您想要的。这是cheat sheet中的代码段:
float GetFrameTime(void); // Returns time in seconds for last frame drawn
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。