【问题标题】:Gdx exit closing entire application - how to close only the gdx frame?Gdx exit 关闭整个应用程序 - 如何仅关闭 gdx 框架?
【发布时间】:2012-11-06 18:37:48
【问题描述】:

我有一个游戏编辑器,它可以在单独的窗口(但在同一个 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。有什么建议吗?

【问题讨论】:

    标签: java swing jframe libgdx lwjgl


    【解决方案1】:

    在桌面(lwjgl 后端)Gdx.app.exit() 发布一个 Runnable,导致循环 mainLoop 完成并控制掉出该函数的底部(请参阅the source)。 mainLoop ends with

    if (graphics.config.forceExit) System.exit(-1);
    

    graphics.config 是在LwjglApplication constructor 中传递的LwjglApplicationConfiguration 对象。所以就设置

    config.exit = false
    

    在配置对象中(如果您当前没有创建配置对象,您可能需要创建一个并使用不同的构造函数)。您还可以在配置对象中设置其他方便的东西。

    (此代码来自 GIT,因此在旧版本的 GDX 或其他后端可能会有所不同。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-18
      • 2020-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-21
      • 2016-07-20
      • 2011-09-19
      相关资源
      最近更新 更多