Как правильно загружать текстуры с помощью libgdx assetmanager

Это как правильно загрузить текстуру в 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

Это почти то, как следует использовать AssetManager, но не полностью. Я рекомендую прочитать в вики о libgdx AssetManager.

Некоторые моменты:
Переменная должна быть в camelCase, поэтому менеджер AssetManager... вместо 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. (видео)