12

这是如何正确地将纹理加载到AssetManager?

Texture tex;
AssetManager manager = new AssetManager();
manager.load("menu/bg.png",Texture.class);
tex = manager.get("menu/bg.png",Texture.class);

纹理无法加载并出现错误“无法加载纹理菜单/bg.png”。

我们应该如何使用AssetManager?

4

1 回答 1

20

这几乎就是 AssetManager 应该使用的方式,但不完全是这样。我建议在 wiki 上阅读有关libgdx AssetManager的信息。

几点:
变量应该是驼峰式,所以 AssetManager manager ... 而不是 AssetManager Manager

您需要致电manager.update();真正让它加载东西。这将需要调用,直到manager.update(); 返回true,然后加载完成。因此,您可以制作一个调用manager.update();每个帧的加载屏幕,当它返回 true 时,您切换到其他屏幕。
如果您只想加载所有内容并阻止直到加载,请manager.finishLoading();在尝试从管理器获取任何内容之前调用。

您可能必须在assets名为的文件夹中创建一个文件夹data并将您的资产放在那里,而不是直接将它们放在资产文件夹中。因此,将您的资产放入mygame-android\assets\data而不是mygame-android\assets.

如果您使用 gdx-setup-gui 创建项目,应该没问题。但如果没有,您的桌面项目也需要知道在哪里可以找到资产。

关于如何使用 libgdx 创建动画、响应式加载屏幕的示例。(视频

于 2012-09-13T15:53:57.913 回答