【发布时间】:2016-07-19 06:49:08
【问题描述】:
尝试使用自己制作的 skin.json 文件来设置 Scene2d 的样式。 但我仍然收到 Json 错误,我不知道为什么!
文件名为:uiskin2.json
{
com.badlogic.gdx.graphics.g2d.BitmapFont: { default-font: { file: default.fnt } },
com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: {
default: { down: default-round-down, up: default-round, font: default-font }
},
com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle: {
default: { titleFont: default-font },
}
}
我会得到错误:
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.SerializationException: Error reading file: uiskin2.json
at com.badlogic.gdx.scenes.scene2d.ui.Skin.load(Skin.java:97)
at com.badlogic.gdx.scenes.scene2d.ui.Skin.<init>(Skin.java:74)
at Scene2D_UI_Wigets_Skins.Scene2dUi.create(Scene2dUi.java:17)
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: uiskin2.json
at com.badlogic.gdx.utils.Json.fromJson(Json.java:694)
at com.badlogic.gdx.scenes.scene2d.ui.Skin.load(Skin.java:95)
... 4 more
Caused by: com.badlogic.gdx.utils.SerializationException: Error parsing file: uiskin2.json
at com.badlogic.gdx.utils.JsonReader.parse(JsonReader.java:77)
at com.badlogic.gdx.utils.Json.fromJson(Json.java:692)
... 5 more
Caused by: com.badlogic.gdx.utils.SerializationException: Error parsing JSON, unmatched brace.
at com.badlogic.gdx.utils.JsonReader.parse(JsonReader.java:554)
at com.badlogic.gdx.utils.JsonReader.parse(JsonReader.java:55)
at com.badlogic.gdx.utils.JsonReader.parse(JsonReader.java:75)
... 6 more
他们自己的错误并没有说明uiskin2.json文件中的内容,只是解析错误?
有人看到了吗?我需要指定像default-round-down 这样的默认道具吗?
我在这里错过了什么?
附言 测试来自互联网的皮肤,效果很好 uiskin.json
【问题讨论】:
-
您需要更好地格式化您的 json,以便您可以更轻松地阅读它。检查菲尔的答案,如果您正确格式化它,您会立即看到额外的逗号。可读性就是一切,我会牺牲一个视图 FPS 以获得额外的可读性,如果它会来的话,我会毫不犹豫地。
-
@Menno Gouw - 你说得很好。有趣的是,我试图找出问题的第一件事就是重新格式化它。然后 - 正如你所说 - 很明显。