我有一个游戏编辑器,可以在一个单独的窗口(但在同一VM中)启动正在编辑的游戏。但是,当游戏关闭时,我想关闭其gdx窗口,而不关闭整个应用程序(即编辑器)。
我目前在托管LwjglApplication
的JFrame中使用以下代码:
public void windowClosing(WindowEvent e) {
System.err.println("Now closing app...");
Gdx.app.exit();
System.err.println("App now closed.");
}
这将打印再见,关闭GDX窗口,然后继续终止我的VM。有什么建议么?
最佳答案
在桌面(lwjgl后端)中,Gdx.app.exit()
发布一个Runnable,该Runnable导致循环mainLoop
完成并控制掉该功能的底部(请参见the source)。 mainLoop ends with:
if (graphics.config.forceExit) System.exit(-1);
graphics.config
是在LwjglApplicationConfiguration
中传递的LwjglApplication
constructor对象。所以就设定config.exit = false
在配置对象中(如果您当前未在创建配置对象,则可能需要创建一个并使用其他构造函数)。您还可以在config对象中设置其他方便的东西。
(此代码来自GIT,因此在旧版GDX或其他后端中可能有所不同。)
关于java - gdx退出关闭整个应用程序-如何仅关闭gdx框架?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13257220/