【发布时间】:2015-06-30 05:16:24
【问题描述】:
我尝试使用 Asset Manager 加载一些资产。一切正常,除了一部分。 这是我的代码
我的 AssetHandler 类(包含assetManager)
public class AssetHandler {
public static AssetManager manager;
public static String wallFile = "3d/wall.g3db";
public static String floorFile = "3d/floor.g3db";
public static String stairsFile = "3d/stairs.g3db";
public static String characterFile = "3d/character.g3db";
public static void load() {
manager = new AssetManager();
manager.load(wallFile, Model.class);
manager.load(floorFile, Model.class);
manager.load(stairsFile, Model.class);
manager.load(characterFile, Model.class);
}
public static void dispose() {
manager.clear();
manager.dispose();
}
public static void dispose(String fileName) {
manager.unload(fileName);
}
}
当我尝试使用该文件时,我写道:
model = AssetHandler.manager.get(AssetHandler.characterFile, Model.class);
model = AssetHandler.manager.get(AssetHandler.wallFile, Model.class);
一切正常,但字符文件不起作用 其他文件有,但只有这一个文件没有
请帮助我不明白为什么 没有弹出错误/异常
【问题讨论】:
-
你在哪里打电话给
manager.update()?如果您不调用它,manager将不会继续加载Assets。其他 3 个文件可能非常小并且“立即”加载,而第 4 个文件更大,或者只是所有 4 个文件都太大而无法“立即”加载,因此不会加载一个。 -
还可以考虑更新或回答您的其他问题。这个解决方案也应该解决你其他问题的问题。
-
@Springrbua 在收到令人困惑的 cmets 之后,我已经对assetManager 部分进行了很多更改,所以这个问题与其他问题完全无关,谢谢提醒
-
对该问题只有一条评论,并且该评论与此处接受的解决方案相似。此外,这里的问题和另一个问题中的问题基本相同,您从未调用过
AssetManager#update或AssetManager#finishLoading。所以我想这些问题是相关的,你可能会考虑更新或回答它。它可能会在未来帮助其他人。谢谢
标签: java libgdx 3d-model asset-management