我试着将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