1. ホーム
  2. java

[解決済み] 新しいLibGDXプロジェクトを実行すると、「ファイルが見つかりません」と表示されます。

2022-05-13 03:12:22

質問

LibGDXを学ぼうとしているのですが、以下のソフトをすべてインストールしました。 ここに をインストールし、新しい Eclipse 4.3 をフォーマットされたばかりの mac OS X Maverick にインストールしました。

すべてが順調に進み、再起動後に gdx-setup.jar をダウンロードし、実行し、フォームに記入して、Eclipse にインポートしました。

デスクトップを実行しようとすると、エラーも警告もありません。(デスクトップ プロジェクトを右クリックし、Run As -> Java Application).

このようなエラーが発生しました。

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: badlogic.jpg
at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:140)
at com.badlogic.gdx.graphics.glutils.FileTextureData.prepare(FileTextureData.java:64)
at com.badlogic.gdx.graphics.Texture.load(Texture.java:130)
at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:121)
at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:100)
at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:92)
at com.diesel.bugs.DieselBugs.create(DieselBugs.java:21)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)


Caused by: com.badlogic.gdx.utils.GdxRuntimeException: File not found: badlogic.jpg (Local)
at com.badlogic.gdx.files.FileHandle.read(FileHandle.java:134)
at com.badlogic.gdx.files.FileHandle.readBytes(FileHandle.java:218)
at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:137)

私はここで多くの似たような問題を見つけました、私は良い結果を得ずにそれらをすべて試してみました... 昨夜、私は この 私は最新のJava 1.8、Macを持っており、Eclipseは完全にフィットします...

しかし、私はJava 1.6と1.7で試して、常に同じエラー(ファイルが見つかりません、私はJava 1.7を保持します)成功しません。

私はいくつかのデバッグを行うために開始し、ここでインポートによって生成された元のコードの私の唯一の変更。

package com.diesel.bugs;

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;

public class DieselBugs extends ApplicationAdapter {
    SpriteBatch batch;
    Texture imgExternal,imgLocal;

    @Override
    public void create () {
        batch = new SpriteBatch();
        String pathLocal = Gdx.files.getLocalStoragePath();
        String pathExternal = Gdx.files.getExternalStoragePath();
        Boolean isExternal = Gdx.files.isExternalStorageAvailable();
        Boolean isLocal = Gdx.files.isLocalStorageAvailable();
        imgExternal = new Texture(Gdx.files.external("/Desktop/badlogic.jpg"));
        imgLocal = new Texture(Gdx.files.local("badlogic.jpg")); 
    }

    @Override
    public void render () {
        Gdx.gl.glClearColor(1, 0, 0, 1);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
        batch.begin();
        batch.draw(imgExternal, 0, 0);
        batch.end();
    }
}

変なのはpathLocalが""と等しいことです。Gdx.files.getLocalStoragePath() が何も(空文字列)を返さないのは正常なことでしょうか?

また

imgExternal = new Texture(Gdx.files.external("/Desktop/badlogic.jpg"));

ローカルのみエラーが発生し、isLocalとisExternalはtrueを返します。

そして、私は多くの組み合わせを試します。 /assets/data/badlogic.jpg , /assets/badlogic.jpg , /data/badlogic.jpg , data/badlogic.jpg そして badlogic.jpg .

画像badlogic.jpgがあるので、念のため複数個所に貼ってみました。

そして今、私がここに助けを求めている理由は、PC上で同じステップをすべて試したところ、すべてがうまくいったからです。

私の新しい Mac とその設定に何か問題があるのでしょうか?

どのように解決するのですか?

libgdx wikiより

Desktop Project を実行すると

アプリケーションは初回に失敗します。先ほど作成したRun Configurationを開き、作業ディレクトリをandroid/assets/ディレクトリに設定してください!

デスクトッププロジェクトとandroidのassetsフォルダをリンクしますか?

に移動してください。 実行 => 設定の実行... => 選択 DesktopLauncher 引数タブ => 作業ディレクトリ => その他を選択し、yourproject-android/assets/をブラウズして、をクリックします。 適用 =をクリックします。 をクリックします。 実行する