如何在java中获取增量?

如何在java中获取增量?,java,jframe,lwjgl,delta,Java,Jframe,Lwjgl,Delta,我正在用java做一个游戏,我想知道如何获得delta时间,以便以正确的速度渲染图像等?我的代码不起作用,在循环中打印时返回的所有代码都是0 public static long getTime() { return (Sys.getTime() * 1000) / Sys.getTimerResolution(); } public static int getDelta() { long time = getTime(); int delta = (int) (ti

我正在用java做一个游戏,我想知道如何获得delta时间,以便以正确的速度渲染图像等?我的代码不起作用,在循环中打印时返回的所有代码都是0

public static long getTime() {
    return (Sys.getTime() * 1000) / Sys.getTimerResolution();
}

public static int getDelta() {
    long time = getTime();
    int delta = (int) (time - lastFrame);
    lastFrame = time;

    return delta;
}

如果您使用System.nanoTime,它应该可以工作


此方法只能用于测量经过的时间,需要除以100万才能得到经过的毫秒数

可能是@Cairnarvon的重复项否。这与联网或查看它运行了多长时间无关,我希望确保在其他系统上更新图像的速度不会更快,反之亦然。到目前为止,这是可行的,如果需要,有没有办法降低速度?我正在使用代码段Main.screerx+=1*Main.getDelta,它运行得有点快?有什么办法可以让它慢下来吗?另外,当打印x时,它的增量似乎会更高。当不慢下来时,它会在一秒钟内从正常的1000-2000变为10000-70000,或者它的速度太快,以至于打印时控制台会出现滞后。