GdxRuntimeException:未加载资产

时间:2017-02-26 13:03:43

标签: java json libgdx asset-management

我关注Cannot use a DependencyObject that belongs to a different thread than its parent Freezable教程,但是如果xml我使用json。 我认为资产已经加载但显然不是!如果你们中的一个人有任何解决方案,那就太好了。

this

这是输出:

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 个答案:

答案 0 :(得分:2)

使用用于处理文件的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);
}