Beim Versuch, LibGDX zu lernen, installiere ich die gesamte hier aufgeführte Software mit einem neuen Eclipse 4.3 auf einem frisch formatierten Mac OS X Maverick.
Alles läuft reibungslos, nach einem Neustart lade ich die Datei gdx-setup.jar herunter und führe sie aus, fülle das Formular aus und importiere sie in Eclipse.
Kein Fehler, keine Warnung, wenn ich versuche, den Desktop auszuführen. (Klicken Sie mit der rechten Maustaste auf das Desktop-Projekt, Ausführen als -> Java-Anwendung).
Ich habe diesen Fehler bekommen
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)
Ich habe hier eine Menge ähnlicher Probleme gefunden, ich probiere sie alle ohne gutes Ergebnis aus ... Letzte Nacht fand ich das sehr cool. Ich habe das neueste Java 1.8, einen Mac und Eclipse, die perfekt passen ...
Aber kein Erfolg, ich versuche es mit Java 1.6 und 1.7, immer der gleiche Fehler (Keine Datei gefunden, ich habe Java 1.7 behalten)
Ich beginne ein Debugging, hier meine einzige Änderung des ursprünglichen Codes, der durch den Import generiert wurde.
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();
}
}
Das Seltsame ist, dass pathLocal gleich "" ist. Ist es normal, dass Gdx.files.getLocalStoragePath () nichts zurückgibt (leere Zeichenfolge)?
Auch der
imgExternal = new Texture(Gdx.files.external("/Desktop/badlogic.jpg"));
Funktioniert super. Nur der lokale gibt den Fehler aus, auch isLocal und isExternal geben true zurück.
Und ich versuche , eine Menge Kombinationen, wie /assets/data/badlogic.jpg
, /assets/badlogic.jpg
, /data/badlogic.jpg
, data/badlogic.jpg
, und badlogic.jpg
.
Das Bild badlogic.jpg ist da und ich habe es an mehreren Stellen platziert, um sicherzugehen.
Und jetzt bin ich hier, um Hilfe zu bekommen, weil ich einfach den gleichen Schritt auf einem PC versuche und alles großartig funktioniert.
Was ist los mit meinem neuen Mac und seiner Einstellung?