2016-03-31 5 views
0

Связывание с использованием собственного файла skin.json для стилизации Scene2d. Но я все еще получаю ошибки Json, и я не могу понять, почему!Json parsing error - libgdx

файла с именем: 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 file, только ошибки синтаксического анализа?

Doe's someone видит это? Нужно ли указывать реквизиты по умолчанию, например default-round-down? Что мне здесь не хватает?

p.s Семенники кожа из Интернета, который работает просто отлично uiskin.json

+1

Вам нужно форматировать JSON лучше, так что вы можете прочитать его проще. Проверьте ответ от Фила, и вы сразу увидите дополнительную запятую, если отформатируете ее правильно. Считываемость - это все, я бы пожертвовал просмотром FPS для дополнительной удобочитаемости в любой день без мигания, если он придет к нему. – Madmenyo

+0

@Menno Gouw - Вы делаете хороший момент. Как ни странно, первое, что я сделал, чтобы попытаться найти проблему, - это переформатировать ее. Тогда, как вы говорите, это было очевидно. –

ответ

3

Первое, что я вижу, что у вас есть паразитная запятая после третьей-от-последней скобки закрытия.

Попробуйте это ...

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

+ для отображения формата json для удобства чтения. – Madmenyo

+0

Спасибо, что помогли мне здесь. Форматирование, как это делает глаза лучше! Но актуальной проблемой было имя моего файла skin. По какой-то причине его нужно называть: «uiskin.json» и ничего больше –