当我在我的设备上运行应用程序时,我在控制台中没有出现任何错误,也没有显示任何背景。但是,如果我打开json,它几乎都是红色的。什么可能是错的?
{
com.badlogic.gdx.graphics.Color: {
white: { r: 1, g: 1, b: 1, a: 1 },
black: { r: 0, g: 0, b: 0, a: 1 },
gray: { r: 0.3, g: 0.3, b: 0.3, a: 1 },
red: { r: 1, g: 0, b: 0, a: 1 },
green: { r: 0, g: 1, b: 0, a: 1 },
blue: { r: 0, g: 0, b: 1, a: 1 }
},
com.badlogic.gdx.graphics.g2d.BitmapFont: {
white64: { file: font/white64.fnt },
black64: { file: font/black64.fnt },
white32: { file: font/white32.fnt },
black32: { file: font/black32.fnt },
white16: { file: font/white16.fnt },
black16: { file: font/black16.fnt }
},
com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle: {
default: { font: white32, fontColor: white },
big: { font: white64, fontColor: white },
small: { font: white16, fontColor: white }
},
com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: {
default: { up: button.up, down: button.down, font: black32, pressedOffsetX: 1, pressedOffsetY: -1 },
big: { up: button.up, down: button.down, font: black64, pressedOffsetX: 1, pressedOffsetY: -1 },
small: { up: button.up, down: button.down, font: black16, pressedOffsetX: 1, pressedOffsetY: -1 }
},
com.badlogic.gdx.scenes.scene2d.ui.List$ListStyle: {
default: { font: white32, fontColorUnselected: white, fontColorSelected: black, selection: default.selection }
},
com.badlogic.gdx.scenes.scene2d.ui.ScrollPane$ScrollPaneStyle: {
default: { hScrollKnob: button.up, vScrollKnob: button.up }
},
com.badlogic.gdx.scenes.scene2d.ui.CheckBox$CheckBoxStyle: {
default: { font: white32, checkboxOn: checkbox.on, checkboxOff: checkbox.off, checkboxOver: checkbox.over }
},
com.badlogic.gdx.scenes.scene2d.ui.TextField$TextFieldStyle: {
default: { font: black32, fontColor: black, messageFontColor: gray, background: default.background, cursor: default.selection }
}
}
这就是我调用json文件的方式:
skin = new Skin(Gdx.files.internal("ui/menuSkin.json"), new TextureAtlas("ui/atlas.pack"));
当我将鼠标悬停在错误上时,Android Studio会说什么:
JSON standard does not allow identifiers
This inspection checks that JSON files conform to language specification (RFC-7159)
答案 0 :(得分:0)
由于RFC-7159章节没有。 7 字符串
字符串的表示类似于C中使用的约定 编程语言家族。 字符串的开头和结尾 引号。
这就是为什么Android Studio可能没有验证这个.json的原因。实际上它应该有效,因为即使是官方的例子也不尊重这个要求 - take a look here。
我也不确定使用点' 。'在json条目的值中 - 例如:checkboxOff: checkbox.off, checkboxOver: checkbox.over
。我不知道它是否会在这里引起错误,但对我来说这似乎不是一个好习惯。
在这种情况下我习惯使用下划线' _ '登录。