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

J.P*_*min 11 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);
Run Code Online (Sandbox Code Playgroud)

纹理无法加载错误"无法加载纹理菜单/ bg.png".

我们应该如何使用AssetManager?加载我们的纹理?

Mat*_*ann 20

这几乎是应该如何使用AssetManager,但并非完全如此.我建议在wiki上阅读有关libgdx AssetManager的内容.

一些要点:
变量应该在camelCase中,所以AssetManager 管理器 ......而不是AssetManager Manager.

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

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

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

有关如何使用libgdx创建动画响应加载屏幕的示例.(视频)