21

我正在尝试更改我在应用程序中使用的字体颜色。但无论我尝试什么字体都是黑色的。我使用 Hiero 字体工具制作了这个字体。

我的代码是这样的:

SpriteBatch batch = new SpriteBatch();
BitmapFont font = new BtimapFont( Gdx.files.internal(MainAssets.pathToAssets + "font/comic.fnt"), Gdx.files.internal(MainAssets.pathToAssets +  "font/comic.png"), false );

在我绘制字体的渲染中:

batch.begin();
font.setColor(1, 0, 0, 1);
font.draw(batch, "Hello World!", 0, 0);
batch.end();

我发现了一个与我类似的问题,但仍然没有解决方案。

http://code.google.com/p/libgdx/issues/detail?id=370

4

4 回答 4

22

您需要设置具有 32 位深度的输出格式和带有 alpha 的白色(如果您使用的是BMFont工具,则不了解 Hiero )。

于 2013-05-21T17:18:49.183 回答
17

如果您的字体是黑色的,那么它不会被着色(这是您在调用 setColor 时所做的)。尝试在 Hiero 中再次生成白色字体。

于 2012-10-08T14:28:11.020 回答
14

你可以用这个

font.setColor(Color.BLUE);

最简单的方法

于 2013-10-05T11:13:33.060 回答
0

最新的 libGDX 也有同样的问题,就我而言,它与字体图像格式有关。有关详细信息,请查看此消息:

在 libGDX 更新到最新版本后 font.setColor 方法不起作用

于 2017-01-06T10:33:06.860 回答