GdxRuntimeException: актив не загружен

Я следую этому уроку, но вместо XML я использую JSON. Я думаю, что актив загружен, но, видимо, это не так! Было бы неплохо, если бы у кого-то из вас было какое-то решение.

Код есть на github.

Это вывод:

SUCCESS!
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: Asset not loaded: core\assets\badlogic.jpg
    at com.badlogic.gdx.assets.AssetManager.get(AssetManager.java:150)
    at epytotorp.managers.AssetManager.get(AssetManager.java:78)
    at epytotorp.Game.create(Game.java:18)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:149)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)

Process finished with exit code 0

Я попробовал многие мысли, но ни одна из них не сработала, можете ли вы помочь мне. Спасибо заранее.

1 ответ

Решение

С библиотеками Java для работы с файлами вы можете безопасно использовать / (косую черту, а не обратную косую черту) на всех платформах. Код библиотеки обрабатывает внутреннее преобразование вещей в специфичные для платформы пути.

Я сделал некоторые изменения в вашем create() метод вашей игры игры, и тогда это работает.

@Override
public void create() {
    AssetManager.getInstance().initialize("core/assets/test.json");
    AssetManager.getInstance().load("group 1");
    AssetManager.getInstance().finishLoading();
    System.out.println("SUCCESS!");
    Texture texture = AssetManager.getInstance().get("core/assets/badlogic.jpg", Texture.class);

    System.out.println("Texture"+texture);

    ScreenManager.getInstance().initialize(this);
    ScreenManager.getInstance().setScreen(ScreenEnum.SPLASH);
}
Другие вопросы по тегам