私はjava(libGDX)アプリケーションを持っています。私のアプリは、assetsフォルダから画像(スプライト)を読み込んでいます。私はLinux上で私のアプリケーションを起動しているとき - すべて正常に動作しているが、私はWindows上でjarを起動している - 私は画像なしの黒い画面のみを参照してください。この問題を解決するために私を助けてください。私は何が間違っているのか、そしてなぜこれが起こっているのかについては考えていません。私は - 私の資産 - が瓶に入っているのを見ました。Windows版my Java(libGDX)アプリケーションに画像のない黒い画面
答えて
あなたは何をしているのかわかるようにいくつかのコード例を教えてください。 (画像、ファイルなどの読み込み)
cmd/shell(java -jar)からjarを実行して、例外がスローされるかどうかを確認してください。ほとんどの場合例外がスローされますが、コンソールウィンドウを持っていないため表示できません。スローされた例外がある場合、スタックトレースをあなたの質問に投稿して、分析することができます。
どのように瓶を作りますか?
Javaファイルの入出力方法(Fileなど)を使用していますか?これらはjarのlibgdxコアモジュールで正しく動作しません。 Libgdxは独自の方法でファイルを処理するので、libgdxのファイル処理システム(Check it out here)を使用してファイルを読み書きしていることを確認してください。
グラフィックスカードは何ですか? Libgdxには、いくつかの古いOpenGLバージョンが何らかの理由でサポートされていないように見えるので、デフォルトのシェーダがAMDカードで動作しないバグがあります。このバグはまだ解決されていませんが、管理者が解決策を提供しています。したがって、スタックトレースを取得した場合、コマンドプロンプトまたはシェルから実行すると、sthが "... shader ... blah blah blah ... GL3によってサポートされていない暗黙のバージョン110 ..."のようなエラーメッセージが表示される。Check this thread in libgdx issues page。デスクトップスターターに次のコードを追加しようとすることができ
:管理者xoppaはすべてのために働くようだソリューションを提供します。
config.useGL30 = true; ShaderProgram.prependVertexCode = "#version 140\n#define varying out\n#define attribute in\n"; ShaderProgram.prependFragmentCode = "#version 140\n#define varying in\n#define texture2D texture\n#define gl_FragColor fragColor\nout vec4 fragColor;\n";
この答えは、私が提供スレッドで見つけることができます。
悪い英語と悪いコードの書式設定を助けてくれて嬉しいです。
ログを取得できるようにコンソールウィンドウからjarを起動する – Tenfour04