私はLibgdx OpenGLフレームワークに取り組もうとしています。私はLwjglApplication
を使って、ボックス、いくつかのメッシュ、いくつかのテクスチャをレンダリングする簡単なアプリケーションを作成しました。私は厳格なBox2Dボディを作成するAurelien Ribonのアプリを見つけました。彼はLwjglCanvas
を使ってJavaのSwingと統合しました。自分で作ってみたところ、JFrame
を作成してLwjglCanvas
を追加しました。次にJFrame
のデフォルト操作をEXIT_ON_CLOSE
の近くに設定します。「AL lib:alc_cleanup:1デバイスが閉じていない」とはどういう意味ですか?
AL lib: alc_cleanup: 1 device not closed
:私は、アプリケーションを閉じしかし毎回
が、これは私のコンソールにログインします。
私はそれが何を意味しているのか分かりません。それは私に何の害も及ぼしません。私はちょうどそれが何を意味するのか知りたい。 LwjglCanvas
ドキュメントによると:私はLwjglCanvas.stop()
をバインドする必要があります
All OpenGL calls are done on the EDT. This is slightly less efficient then a dedicated thread, but greatly simplifies synchronization. Note that you may need to call stop() or a Swing application may deadlock on System.exit due to how LWJGL and/or Swing deal with shutdown hooks.
、私はEventDispatchThread
キューに追加する必要がありますか、私はJFrame.addWindowListener
にバインドする必要がありますか?
「AL lib:alc_cleanup:1デバイスが閉じていない」とはどういう意味ですか?
ありがとうございます!
です。したがって、メッセージはJava Swingのイベントディスパッチスレッドとは関係ありません。 LibgdxApplicationを閉じるときにメッセージは表示されません。 – nagloan
おそらく 'alc_cleanup'がいくつかのアプリケーション終了パスで呼び出されないかもしれません(例えば、' System.exit() 'が呼び出された場合、' alc_cleanup'は呼び出されません) –
明確化とコード参照のおかげで本当に – nagloan