Freetypes' parameter.color似乎没有用

时间:2018-03-23 16:34:01

标签: java fonts libgdx freetype

在游戏中,我正在制作我在屏幕上呈现文字的内容,并且我希望白色文字带有黑色边框,但它似乎不能让我改变前景和边框颜色到我想要的。

这就是我使用名为Font的类创建字体的方法:

public BitmapFont font;

public Font(String fontName, int size, boolean border)
{
    FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.local("font/"+fontName)); // Load in .ttf

    // Custom font settings
    FreeTypeFontParameter parameter = new FreeTypeFontParameter();
    parameter.size = size;
    parameter.spaceX = 1;
    if (border)
    {
        // Must fix this!!!
        parameter.color = Color.WHITE;
        parameter.borderColor = Color.BLACK;
        parameter.borderWidth = 1;
    }
    this.font = generator.generateFont(parameter);

    generator.dispose();
}

以下是我在HUD课程中初始化字体的方法:

arial24 = new Font("arial.ttf", 24, true);
arial24.font.setColor(0, 0, 0, 1);

这就是我提出的方式:

arial24.font.draw(Game.getBatch(), message, Game.getCamera().position.x - 80, Game.getCamera().position.y + 75);

I expect it to output something like this

But instead it comes out like this

根据github页面,一切似乎都是正确的,我已经在论坛上搜索了好几个小时,但我找不到答案。

1 个答案:

答案 0 :(得分:0)

arial24.font.setColor(0, 0, 0, 1); 

如果你想要白色,为什么要混合成黑色?只需删除此行或将其更改为

即可
arial24.font.setColor(1f, 1f, 1f, 1f);