我试图将 AssetManager 实施到我的项目中。现在我无法弄清楚我在 AssetManager 上做错了什么。我用谷歌搜索,并尝试了不同的东西。但似乎没有其他人遇到过 AssetManager 的这种问题。我使用了 .finisLoading(),但之后如果我问 .isLoaded,它会说它尚未加载。
这里的wiki教程 是这样说的
manager.load("data/mytexture.png", Texture.class);
……
manager.finishLoading();
...
纹理 tex = manager.get("data/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 创建的项目 -> 无法加载文件:badlogic.jpg
代码来自:胡安·哈维尔·卡萨尼
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:纹理未加载!
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