代码正常工作,直到达到no选项,一旦点击no选项口吃,然后关闭。另一方面,yes选项工作正常并立即关闭。 " loader.cleanUP();"用于删除vbos和vaos,因此需要它。我会感激一些帮助。
while(!Display.isCloseRequested()) {
renderer.render(model);
renderer.prepare();
// add logic!
DisplayManager.updateDisplay();
}
int dialogButton = JOptionPane.YES_NO_OPTION;
int dialogResult = JOptionPane.showConfirmDialog(null, "Would you like to exit?", "Exit Confirmation", dialogButton);
if(dialogResult == 0) {
System.out.println("Yes option");
loader.cleanUP();
System.exit(0);
}
答案 0 :(得分:1)
您在一开始就有一个while循环,检查关闭请求并呈现模型。一旦请求关闭,无论用户是否单击,您都会退出此循环。你需要包含另一个循环中显示的所有代码,它只是永远运行。
答案 1 :(得分:0)
while
更改为do-while
。System.exit(0);
...您正在使用的API可能有自己的退出方法,在退出之前卸载资源。这是必要的,因为通常情况下,资源将被加载到GPU,并且不会被Java的本机方法卸载(仅通过API的专用方法)。Display.setCloseRequested(true)
(或类似),而不是此int dialogResult
噱头。这与您在避开System.exit(0);
时退出游戏的方式有关,如上一项所述。Delta-Time
来维护动画。