我正在尝试更改我在应用程序中使用的字体颜色。但无论我尝试什么,字体仍然是黑色的。 我使用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();
我发现了一个与我类似的问题,但仍然没有解决方案。
答案 0 :(得分:21)
您需要设置32位深度的输出格式和带alpha的白色(如果您使用的是BMFont工具,请不要了解Hiero)。
答案 1 :(得分:17)
如果您的字体是黑色的,那么它将不会着色(这是您在调用setColor时所做的)。尝试再次以白色在Hiero中生成字体。
答案 2 :(得分:13)
你可以用这个
font.setColor(Color.BLUE);
最简单的方式
答案 3 :(得分:0)
最新的libGDX存在同样的问题,在我的情况下,它与字体图像格式有关。有关详细信息,请查看以下消息:
font.setColor method not working after libGDX update to latest version