我試着將AssetManager實現到我的項目中。現在我無法弄清楚我在AssetManager中做了什麼錯誤。我GOOGLE了,並嘗試了不同的東西。但似乎沒有人會用AssetManager遇到過這種問題。我使用.finisLoading(),但事後如果我問.isLoaded說,它尚未加載。libgdx AssetManager.finishLoading()不起作用
維基教程here 說這
manager.load( 「數據/ mytexture.png」,Texture.class);
....
manager.finishLoading();
...
紋理特= manager.get( 「數據/ mytexture.png」,Texture.class);
我有這樣的代碼
// fullFile e.g. "D:\\folder\\subfolder\\subsubfolder\\jpg.jpg"
if (!new FileHandle(fullFile).exists()) {
System.err.printf("invalid file \"%s\"\n",fullFile);
System.exit(1);
}
if (!manager.isLoaded(fullFile,Texture.class)) manager.load(fullFile,Texture.class);
manager.finishLoading();
if (!manager.isLoaded(fullFile,Texture.class)) {
return = new Sprite(new Texture("D:\\folder\\subfolder\\subsubfolder\\placeholder.jpg"));
} else {
return new Sprite(manager.get(fullFile,Texture.class));
}
馬槽是 AssetManager manager = new AssetManager(new FileHandleResolver() { @Override public FileHandle resolve(String fullFile) { FileHandle fh = new FileHandle(fullFile); if (!fh.exists()) { System.err.printf("invalid file \"%s\"\n",fh.path()); System.exit(1); } return fh; }
我到目前爲止已經試過
運行通過GDX-setup.jar創建的項目 - > Couldn 't加載文件:badlogic.jpg
代碼自:Juan Javier Cassani
public static void test() {
AbsoluteFileHandleResolver fileHandleResolver = new AbsoluteFileHandleResolver();
AssetManager manager = new AssetManager(fileHandleResolver);
//This could be anywhere else
String fileName = "D:\\blablabla\\my_project\\core\\assets\\badlogic.jpg";
if (!new FileHandle(fileName).exists()) {
Gdx.app.error("Blub", "invalid file '" + fileName + "'");
Gdx.app.exit();
}
if (!manager.isLoaded(fileName, Texture.class))
manager.load(fileName, Texture.class);
manager.finishLoading();
if (manager.isLoaded(fileName, Texture.class))
Gdx.app.log("Blub", "Texture loaded!");
else
Gdx.app.log("Blub", "Texture not loaded!");
}
- > Blub:Texture not loaded!
Versions:
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b18)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
ashley-1.3.1.jar
box2dlights-1.3.jar
gdx-1.4.1.jar
gdx-ai-1.4.0.jar
gdx-backend-lwjgl-1.4.1.jar
gdx-box2d-1.4.1.jar
gdx-box2d-platform-1.4.1-natives-desktop.jar
gdx-bullet-1.4.1.jar
gdx-bullet-platform-1.4.1-natives-desktop.jar
gdx-controllers-1.4.1.jar
gdx-controllers-desktop-1.4.1.jar
gdx-controllers-platform-1.4.1-natives-desktop.jar
gdx-freetype-1.4.1.jar
gdx-freetype-platform-1.4.1-natives-desktop.jar
gdx-platform-1.4.1-natives-desktop.jar
gdx-tools-1.4.1.jar
jinput-2.0.5.jar
jinput-platform-2.0.5-natives-linux.jar
jinput-platform-2.0.5-natives-osx.jar
jinput-platform-2.0.5-natives-windows.jar
jlayer-1.0.1-gdx.jar
jorbis-0.0.17.jar
jutils-1.0.0.jar
lwjgl-2.9.1.jar
lwjgl-platform-2.9.1-natives-linux.jar
lwjgl-platform-2.9.1-natives-osx.jar
lwjgl-platform-2.9.1-natives-windows.jar
lwjgl_util-2.9.1.jar
我更改了我的Assetmanager,因此我接受完全限定的名稱。但同樣的問題仍然存在。它說它已經完成加載,並且不是。相對路徑從來沒有工作。 – GavriYashar 2014-12-06 08:43:06
我很感謝您的幫助,但我猜AssetManager是被竊聽的,甚至沒有安裝程序生成的代碼運行。 – GavriYashar 2014-12-06 23:02:18