如何使用libgdx assetmanager正确加载纹理

时间:2012-09-12 15:23:09

标签: java android libgdx

这是如何将纹理正确加载到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加载纹理?

1 个答案:

答案 0 :(得分:20)

这几乎是应该如何使用AssetManager,但并非完全如此。 我建议您在维基上阅读libgdx AssetManager

有些观点:
变量应该在camelCase中,因此AssetManager manager ...而不是AssetManager Manager

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

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

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

有关如何创建animated, responsive loading screen with libgdx的示例。 (video