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