【发布时间】:2016-10-07 15:12:14
【问题描述】:
我有 default.json 文件,用于将皮肤设置为 ui 组件。之前的文件位置在项目包core/src/com/mygame中,里面有如下数据:
{
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/目录中? -
谢谢,这是问题之一。
标签: java android json libgdx android-assets