今天我想更改LibGdx中位图字体的字母
我发现BitmapFont类具有setColor
方法,因此我在下面进行了介绍。注意我不想更改颜色,所以我将这些值设置为相同的
myBitmapFont.setColor(myColour.r,
myColour.g,
myColour.b,
MY_ALPHA)
我的Alpha是
MY_ALPHA= 0.1f
但是,阿尔法不适用,有人知道我在这里做错了吗?
谢谢
答案 0 :(得分:0)
我意识到自己的错误。我忘记了我不是直接绘制GlyphLayout
而是使用GlyphLayout
实例执行文本绘制(因为internal fun BitmapFont.drawFontInCenterOfContainer(batch: Batch, glyphLayout: GlyphLayout, containerWidth: Float, containerHeight: Float, offsetX: Float = 0f, offsetY: Float = 0f) {
this.draw(
batch,
glyphLayout,
offsetX + containerWidth / 2 - glyphLayout.width / 2,
offsetY + containerHeight / 2 + glyphLayout.height / 2)
}
执行文本测量)
setColor
因此,即使我在BitmapFont实例上调用了setText
,它也并不适用,因为我还必须在GlyphLayout
上调用 myBitmapFont.setColor(myColour.r,
myColour.g,
myColour.b,
MY_ALPHA)
glyphLayout.setText(myBitmapFont, myText)
setText
并查看GlyphLayout
的{{1}}方法
/** Calls {@link #setText(BitmapFont, CharSequence, int, int, Color, float, int, boolean, String) setText} with the whole
* string, the font's current color, and no alignment or wrapping. */
public void setText (BitmapFont font, CharSequence str) {
setText(font, str, 0, str.length(), font.getColor(), 0, Align.left, false, null);
}
它应用BitmapFont
颜色