【发布时间】:2021-09-25 04:51:08
【问题描述】:
我正在用 Java 制作游戏,并希望实现一个 deltatime 系统。但是我不确定我是否正确实施了它。我做的方式是否正确,或者我应该改变它。
我的代码如下所示:
long oldtime = System.nanoTime();
while (true) {
long newtime = System.nanoTime();
long deltatime = (newtime - oldtime) / 1000000;
System.out.println(deltatime);
oldtime = newtime;
// render code
try {
Thread.sleep(Math.max(0, 32 - deltatime));
} catch (InterruptedException e) {
e.printStackTrace();
}
}
【问题讨论】:
-
我们自己的测试结果符合您的期望吗?
-
我认为增量时间的一个重要部分是您在
// render code中实际执行的操作(即您如何考虑实际经过的时间量)。你没有向我们展示那部分。 -
您是否尝试过使用 LigGdx 来创建您的游戏。 ?