我试图TextButton
通过给它一个包含按钮样式的 JSON 文件来初始化它,但是我不断收到以下错误:
线程“LWJGL 应用程序”java.lang.IllegalArgumentException 中的异常:缺少 LabelStyle 字体。
在研究了错误的原因后,当您忘记将字体作为TextButtonStyle
.
这是我的 json 文件
{
"com.badlogic.gdx.graphics.Color":{
"golden":{"r":255,"g":215,"b":0,"a":1}
},
"com.badlogic.gdx.graphics.g2d.BitmapFont": {
"arcade": {"file": "arcade.fnt"}
},
"com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle": {
"default": {
"font": arcade,
"fontColor": golden
}
},
"com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle": {
"buttonstyle1": {
"up": "unpressedtextbutton",
"down": "pressedtextbutton",
"font": arcade
}
}
}
在代码中我像这样初始化按钮:
Skin skin = new Skin(Gdx.files.internal("buttonstyles.json"),new TextureAtlas(Gdx.files.internal("uistuff.atlas")));
myTextButton = new TextButton("text of the button",skin,"buttonstyle1")
我的理论是它以某种方式没有读取字体文件“arcade.fnt”,我假设它从中读取文件的目录是资产文件夹,这就是我的“arcade.fnt”文件所在的位置。