【问题标题】:Json parsing error - libgdxJson 解析错误 - libgdx
【发布时间】: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 - 你说得很好。有趣的是,我试图找出问题的第一件事就是重新格式化它。然后 - 正如你所说 - 很明显。

标签: json libgdx scene2d


【解决方案1】:

我看到的第一件事是你在倒数第三个右大括号后面有一个虚假的逗号。

试试这个...

{
  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
    }
  }
}

【讨论】:

  • 感谢您在这里帮助我。像这样格式化眼睛会更好!但实际问题是我的皮肤文件的名称。出于某种原因,它需要命名为:'uiskin.json',仅此而已
猜你喜欢
  • 2014-06-17
  • 1970-01-01
  • 2015-03-31
  • 2016-07-01
  • 2010-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多