libgdx中的json文件
我试图在我的libgdx项目中添加json皮肤文件,但出现错误:libgdx中的json文件,json,parsing,libgdx,Json,Parsing,Libgdx,我试图在我的libgdx项目中添加json皮肤文件,但出现错误: Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: com.badlogic.gdx.utils.SerializationException: Error reading file: gfx/uiskin.json at com.badlogic.gdx.backends.lwjgl.LwjglApplicatio
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: com.badlogic.gdx.utils.SerializationException: Error reading file: gfx/uiskin.json
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:113)
Caused by: com.badlogic.gdx.utils.SerializationException: Error reading file: gfx/uiskin.json
Caused by: com.badlogic.gdx.utils.SerializationException: Error reading file: gfx/uiskin.json
Caused by: com.badlogic.gdx.utils.SerializationException: Field not found: font (com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle)
我的代码:
public void create() {
Gdx.graphics.setContinuousRendering(false);
ui = new Stage();
skin = new Skin(Gdx.files.internal("gfx/uiskin.json"));
Gdx.input.setInputProcessor(ui);
label = new Label("fps", skin);
label.setText("fps:"+Gdx.graphics.getFramesPerSecond());
window = new Window("alarm", skin);
window.setPosition(10, 10);
ui.addActor(window);
}
public void render() {
Gdx.gl.glClearColor(0.2f, 0.2f, 0.2f, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
ui.draw();
}
json
我在asset/gfx文件夹中有:abc.fnt、abc.png、uiskin.json
我不知道我做错了什么?我到处找,但什么也没找到。谢谢您的帮助。对于
窗口$WindowStyle
()
可用字段包括:
- 背景
- 标题字体
- titleFontColor
- 舞台后台
你应该做类似的事情
com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle: {
default: { titleFont: default-font, background: default-window, titleFontColor: white },
dialog: { titleFont: default-font, background: default-window, titleFontColor: white, stageBackground: dialogDim }
}
我曾尝试使用skin json函数,但它对我来说太麻烦了。所以我最终以编程方式构建了皮肤,因为它几乎是一样的,因为您已经在json中使用了java类和方法名称。非常欢迎您。一旦你习惯了一切工作的方式,LibGDX就很棒了!
com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle: {
default: { titleFont: default-font, background: default-window, titleFontColor: white },
dialog: { titleFont: default-font, background: default-window, titleFontColor: white, stageBackground: dialogDim }
}