我有default.json
文件来设置皮肤到UI组件。该文件的位置以前是在项目包核心/ src目录/ COM/mygame,它具有以下数据:从android/assets加载json ui-skin文件时出错
{
com.badlogic.gdx.graphics.g2d.BitmapFont: {
default-font: {
file: Razer.fnt
}
},
com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: {
default: {
up: default-round,
down: default-round-down,
font: default-font
},
},
com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle: {
default: {
titleFont: default-font
}
}
}
然后我会加载该文件在onCreate
方法 skin = new Skin(Gdx.files.internal("default.json"));
这是工作。
但是,现在我决定将该文件移动到名为ui-skins/
的资产文件夹中的android项目。问题是,当我尝试从路径Gdx.files.internal("ui-skins/default.json")
加载该文件,我得到一个错误:
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.SerializationException: Error reading file: ui-skins/default.json
at com.badlogic.gdx.scenes.scene2d.ui.Skin.load(Skin.java:98)
at com.badlogic.gdx.scenes.scene2d.ui.Skin.<init>(Skin.java:75)
at com.unknown.game.MyUnknownGame.create(MyUnknownGame.java:32)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:147)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:124)
Caused by: com.badlogic.gdx.utils.SerializationException: Error reading file: ui-skins/default.json
at com.badlogic.gdx.utils.Json.fromJson(Json.java:694)
at com.badlogic.gdx.scenes.scene2d.ui.Skin.load(Skin.java:96)
... 4 more
Caused by: com.badlogic.gdx.utils.SerializationException: Font file not found: Razer.fnt
at com.badlogic.gdx.scenes.scene2d.ui.Skin$3.read(Skin.java:472)
at com.badlogic.gdx.scenes.scene2d.ui.Skin$3.read(Skin.java:463)
at com.badlogic.gdx.utils.Json.readValue(Json.java:884)
at com.badlogic.gdx.scenes.scene2d.ui.Skin$1.readValue(Skin.java:428)
at com.badlogic.gdx.utils.Json.readValue(Json.java:852)
at com.badlogic.gdx.scenes.scene2d.ui.Skin$2.readNamedObjects(Skin.java:449)
at com.badlogic.gdx.scenes.scene2d.ui.Skin$2.read(Skin.java:438)
at com.badlogic.gdx.scenes.scene2d.ui.Skin$2.read(Skin.java:434)
at com.badlogic.gdx.utils.Json.readValue(Json.java:884)
at com.badlogic.gdx.scenes.scene2d.ui.Skin$1.readValue(Skin.java:428)
at com.badlogic.gdx.utils.Json.fromJson(Json.java:692)
... 5 more
您是否忘记将Razer.fnt移动到Android资产目录中的相同'ui-skins /'目录? – Tenfour04
谢谢你,那是问题之一。 – Kapparino