LibGDXを習おうとすると、リストされているすべてのソフトウェアをインストールします こちら 新しくフォーマットされたMac OS X Maverickに新しいEclipse 4.3をインストールします。
すべてがスムーズに進み、再起動後にgdx-setup.jarをダウンロードして実行し、フォームに入力してEclipseにインポートします。
デスクトップを実行しようとしても、エラーも警告もありません。 (デスクトッププロジェクトを右クリックし、[実行]-> Javaアプリケーション)。
このエラーが出ました
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)
私はここで同様の問題をたくさん見つけました、良い結果なしですべて試してみます...昨夜見つけました this 、とてもクールな最新の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から
デスクトッププロジェクトを実行するとき
アプリケーションは最初に失敗します。作成した実行構成を開き、作業ディレクトリをAndroid/assets /ディレクトリに設定します!
デスクトッププロジェクトをAndroidアセットフォルダーにリンクしますか?
Run => Run Configurations .. => DesktopLauncher、Arguments Tab => Working Directory => Othersを選択し、yourproject-Androidを参照します。/assets /をクリックして適用 => 実行
Android StudioまたはIntelliJ IDEAを使用している場合は、次の手順に従う必要があります。
メニューから「実行」->「構成の編集」を選択します
[作業ディレクトリ:]テキストボックスで、パスに「/ Android/assets」を追加します。
Gradleでタスクを実行する場合、これは問題ではないことに注意してください。 gradle.buildファイルは、Androidモジュールのアセットフォルダーを使用するように構成されています。
セットアップで「Android」ボックスをオフにしたユーザーに対しては、以前の回答は機能しないことに注意してください。 Androidへのデプロイを気にしない人のために、デフォルトのアセットフォルダーを実際にインストールする必要があります。
Intellij IDEAを使用している場合:
これは、作業ディレクトリをいじらずに適切に修正する方法です。
問題は、アセットフォルダーがgradleビルドのresources
ディレクトリとして正しくマークされていないことです。これを修正するには、./core/build.gradle
ビルドファイルに次の行を追加する必要があります。
sourceSets.main.resources.srcDirs = [ "assets/" ]
最新のlibGDXバージョンでクリーンセットアップした後の私のファイルは次のようになります。
apply plugin: "Java"
sourceCompatibility = 1.6
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
sourceSets.main.Java.srcDirs = [ "src/" ]
sourceSets.main.resources.srcDirs = [ "assets/" ]
Eclipse.project {
name = appName + "-core"
}
別のソリューションを使用します。
アプリケーション実行構成を作成する代わりに、Gradleビルド構成を作成します。タスクはdesktop:run
です。実行されると、ゲームが起動し、クラッシュせずに生き続ける必要があり、リソースが見つかるはずです。
理由は正確にはわかりませんが、Gradleタスクをこのように実行すると、リソースが見つかります。アプリケーションの実行構成を使用すると(現在受け入れられている答えのような変更なしで)、リソースが見つからないためクラッシュします。
作業ディレクトリまたはリンクされたリソースでアセットのパスを確認できます。完了したら、ロードするファイルを確認します。最後に、プロジェクトをクリーンアップして更新します。
IntelliJでも同じ問題があり、Androidのlibgdxプロジェクトを生成していませんでした(Androidオプションにチェックマークが付いていませんでした)が、まだ同じエラーが発生していました。作業ディレクトリを「/ Android/assets /」にリンクする代わりに、「-/ core/assets」にリンクすると、うまくいきました。
Androidプロジェクトがありません。私の解決策は、アセットフォルダーをJava Build Path-> Librariesにクラスフォルダーとして追加することです。さらに、Java Build Path-> Order and Exportのアセットフォルダーを確認して、これを他のプロジェクトに含めます。