當試圖從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