我在andengine中使用自定义字体,当用户点击该ui时,我需要更改我的ui颜色。这是我的代码。
Text exit=new Text(250, 390, this.mPlokFont, "Exit");
exit.setColor(255,0, 0, 255);
scene.attachChild(exit);
但它不起作用。我的字体:
mPlokFont = FontFactory.createFromAsset(this.mPlokFontTexture, this, "Plok.ttf", 16, true, Color.WHITE);
提前致谢。
答案 0 :(得分:4)
我很确定你正面临这个问题,因为你在字体纹理中使用了预乘alpha。试试这个
mFontTexture = new BitmapTextureAtlas(256, 256, TextureOptions.BILINEAR);
mUIFont = new Font(m_FontTexture, Typeface.create(Typeface.DEFAULT, Typeface.BOLD), 32, true, Color.WHITE);
它应该有效。 AFAIK,预乘alpha意味着纹理中的RGB值已经乘以alpha值,因此调用.setAlpha()不会改变任何东西(它不会被应用。
答案 1 :(得分:3)
尝试使用ChangeableText而不是Text