在一个 Json 皮肤中使用多种字体

Using multiple fonts in one Json skin

我的菜单使用一种皮肤,我想知道是否可以向该皮肤添加多种字体,然后以编程方式选择要使用的字体。

目前我设置了一种字体并将其添加到 LabelStyle 中,如下所示:

"com.badlogic.gdx.graphics.g2d.BitmapFont": {
        "fontTest": { "file": "outline_test.fnt" }
    },

    "com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle": {
        "default": {
            "font": "fontTest", "fontColor": "white"
        }
    }, 

这意味着当我创建标签时,我需要做的就是获得这种字体:

Label rating = new Label("Rating: ", skin);

这会选择默认设置的 LabelStyle,有什么方法可以引用我的 Json- 文件中设置的 LabelStyles,以便我可以选择要在我的 Java- 中使用的样式代码?或者我需要创建一个单独的皮肤吗?

是的,您可以在皮肤文件中添加多种字体样式

假设您要创建一个名为 "myStyleFontTest" 的标签样式,它使用不同的字体

"com.badlogic.gdx.graphics.g2d.BitmapFont": {
        "fontTest": { "file": "outline_test.fnt" },
        "myStyleFontTest": { "file": "myStyle.fnt" }
    },

    "com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle": {
        "default": {
            "font": "fontTest", "fontColor": "white"
        },
        "myLabelStyle" :  {
            "font": "myStyleFontTest", "fontColor": "red"
        }
    }, 

现在,当您创建一个新标签时,您所要做的就是

Label testLabel = new Label(text, skin, "myLabelStyle")