当试图从LibGDX的测试加载默认皮肤LibGDX默认皮肤不加载
https://github.com/libgdx/libgdx/tree/master/tests/gdx-tests-android/assets/data (uiskin.atlas,uiskin.json,uiskin.png和default.fnt)
我收到以下错误消息。
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: No com.badlogic.gdx.scenes.scene2d.ui.TextField$TextFieldStyle registered with name: default
at com.badlogic.gdx.scenes.scene2d.ui.Skin.get(Skin.java:149)
at com.badlogic.gdx.scenes.scene2d.ui.Skin.get(Skin.java:134)
at com.badlogic.gdx.scenes.scene2d.ui.TextField.<init>(TextField.java:116)
at com.badlogic.gdx.scenes.scene2d.ui.TextArea.<init>(TextArea.java:57)
at me.winter.socialplatformer.menu.ConnectScreen.show(ConnectScreen.java:30)
at com.badlogic.gdx.Game.setScreen(Game.java:61)
at me.winter.socialplatformer.Platformer.create(Platformer.java:39)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:147)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:124)
这里是我是如何加载和使用皮肤:
assetManager = new AssetManager();
assetManager.load("gfx/uiskin.atlas", TextureAtlas.class);
//...
assetManager.finishLoading();
//...
TextArea textArea = new TextArea("test", new Skin(getAssets().get("gfx/uiskin.atlas", TextureAtlas.class)));
textArea.setBounds(100f, 100f, 500f, 500f);
看起来它找不到这样的:
com.badlogic.gdx.scenes.scene2d.ui.TextField$TextFieldStyle: {
default: { selection: selection, background: textfield, font: default-font, fontColor: white, cursor: cursor }
},
然而,这条线是存在于文件从回购下载的uiskin.json。所有文件都是最新的。此外,该错误可能与IntelliJ给我的坏json语法警告相关联。
糟糕,AssetSupplier只是AssetManager的一个个人遗产类,它增加了一些小实用方法。将解决我的例子。但是,它的作用与AssetManager完全相同。 – Winter
您完全正确,我尝试加载该图册时出错。 – Winter