2012-11-06 54 views
2

我有一個遊戲編輯器,可以在單獨的窗口(但在同一個虛擬機內)啓動正在編輯的遊戲。但是,當遊戲關閉時,我想關閉它的gdx窗口,而不關閉整個應用程序(即編輯器)。Gdx退出關閉整個應用程序 - 如何只關閉gdx框架?

我目前使用JFrame內將以下代碼託管LwjglApplication

public void windowClosing(WindowEvent e) { 
    System.err.println("Now closing app..."); 
    Gdx.app.exit(); 
    System.err.println("App now closed."); 
} 

此打印再見,關閉窗口GDX中,並且進入終止我的VM。有什麼建議麼?

回答

4

在桌面(lwjgl後端)中,Gdx.app.exit()發佈Runnable,導致循環mainLoop完成,並控制掉該函數的底部(請參閱the source)。該mainLoop ends with

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

graphics.configLwjglApplication constructor通過LwjglApplicationConfiguration對象。所以只要設置

config.exit = false 

在配置對象(您可能需要創建一個並使用不同的構造函數,如果你目前沒有創建一個配置對象)。還有其他一些你可以在配置對象中設置的方便的東西。

(此代碼來自GIT,因此舊版GDX或其他後端可能會有所不同)。

+0

謝謝。這很好地解決了這個問題。 – tucuxi

相關問題