我正在尝试在 LWJGL 3 中制作一个简单的游戏,但我被困在原地,主游戏循环不起作用;
float fps = 60;
double ns = 1000000000 / fps;
long last = System.nanoTime();
double delta = 0;
while(glfwWindowShouldClose(window) != GL_TRUE){
delta += (System.nanoTime() - last) / ns;
System.out.println(delta);
last = System.nanoTime();
while(delta-- >= 1){
update();
}
render();
}
我添加了打印来测试发生了什么,我注意到 delta
始终小于零,这是不应该发生的;
我正在使用 LWJGL 3 和 Java 1.8 SE
最佳答案
为什么你认为不可能得到负值?
这个表达式
while(delta-- >= 1)
无论是否进行循环,delta
都会至少减少一次1。
关于java - LWJGL 游戏循环不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35902160/