2

編集中のゲームを別のウィンドウ (ただし同じ VM 内) で起動できるゲーム エディターがあります。ただし、ゲームを閉じるときに、アプリケーション全体 (つまり、エディター) を停止することなく、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

1 に答える 1

5

デスクトップ (lwjgl バックエンド) ではGdx.app.exit()、Runnable をポストして、ループmainLoopを完了させ、制御をその関数の下部から抜け出させます (ソースを参照)。mainLoop は次で終了します。

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

graphics.configコンストラクターLwjglApplicationConfigurationで渡されるオブジェクトです。だから設定するだけLwjglApplication

config.exit = false

構成オブジェクトで (現在構成オブジェクトを作成していない場合は、作成して別のコンストラクターを使用する必要がある場合があります)。config オブジェクトで設定できる便利なものは他にもあります。

(このコードは GIT からのものであるため、古いバージョンの GDX や他のバックエンドでは異なる場合があります。)

于 2012-11-07T03:38:12.323 に答える