我正在为我的视频游戏计算deltatime,所以当有人PC很快时,游戏速度不会疯狂.我使用ctime库中的clock()函数来测量时间.问题是,我的fps太高了,deltatime是0.所以我的gamepeed也搞砸了.
这就是我计算增量时间的方法:
///DELTATIME AND FPS COUNTING deltaTime = clock() - oldTime; double fps = (1 / deltaTime) * 1000; oldTime = clock();
deltaTime和oldTime的变量类型是float.我需要让clock()函数更准确,所以它不是0(我相信毫秒).
提前致谢.
文字1
和变量deltaTime
(如果是clock_t
)都是整数.整数除法将截断结果,因此1 / anything_larger_than_1
将始终为零.
您需要使用浮点除法:
1.0 / deltaTime
注意使用double
文字1.0
.