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

标签 java json libgdx bitmap-fonts

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

目前我设置了一种字体并将其添加到 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")

关于java - 在一个 Json 皮肤中使用多种字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31223913/

相关文章:

java - GSON 没有填充对象列表

php - 将 JSON.stringify 中的值存储到 mysql

colors - 在 libgdx 中使用 getStyle 设置标签背景样式

android - 在 libgdx 中使图像可触摸的最简单方法是什么?

Java Buffer 可以判断它是否脏了

java - 为什么 resize 是这样实现的?

javascript - 将 HTML 元素的 "Style"属性转换为 JSON

用于多行文本的 Java 注释实用程序

java - 在 Contact Listener 上使用 BeginContact 时,我的 WorldManifold 始终在所有点上返回 0,0 ... 为什么?

java - 为什么我的 Lib-GDX 项目不是 GWT 项目?