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

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代码中选择使用哪种样式?或者我需要创建一个单独的皮肤吗?
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")

我认为可能你有点混淆了,把风格放在了BitmapFonts下面? - Green_qaue
没问题,我明白你的意思了 :) 运行良好,谢谢! - Green_qaue

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接