3

我正在为我的菜单使用一个皮肤,我想知道是否可以向这个皮肤添加几种字体,然后选择以编程方式使用哪种字体。

目前我设置了一种字体并将其添加到 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 代码中使用哪种样式?还是我需要创建一个单独的皮肤?

4

1 回答 1

2

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

假设您要创建一个名为“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")
于 2015-07-04T18:36:23.083 回答