我有一个游戏编辑器,可以在一个单独的窗口(但在同一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/

10-10 06:06