我正在尝试在LWJGL 3中制作一个简单的游戏,但我的主游戏循环无法正常工作;
setVisible
我添加了印刷品来测试发生了什么,我注意到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();
}
总是小于零,这不应该发生;
我正在使用LWJGL 3和Java 1.8 SE
答案 0 :(得分:2)
为什么你认为不可能得到负值?
此表达式
while(delta-- >= 1)
无论是否采用循环,都会将delta
减少至少一次。