我在libGDX上编写的android应用有很多文本。我使用FreeTypeFontGenerator创建字体:
public static BitmapFont setupHandWritingFont() {
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/handwriting.ttf"));
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
parameter.size = 36;
parameter.genMipMaps = true;
parameter.magFilter = Texture.TextureFilter.Linear;
parameter.color = Color.BLACK;
parameter.characters = "абвгдежзийклмнопрстуфхцчшщъыьэюяabcdefghijklmnopqrstuvwxyzАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789][_!$%#@|\\/?-+=()*&.;:,{}\"´`'<>";
BitmapFont font = generator.generateFont(parameter);
generator.dispose();
return font;
}
在执行一些操作之后,这些操作会将屏幕隐藏一段时间(例如显示广告或隐藏应用程序),文本将转换为正方形。它经常发生,但并非每次都发生。
代替此: 正确显示文字
有人以前遇到过这个问题吗?我该怎么办?
答案 0 :(得分:0)
我在批次中添加预乘alpha混合时遇到了这个问题。您可能因为在某处使用了淡入淡出操作(可能选择了框?)而遇到了这个问题。
尝试在绘制字体之前添加跟随线:
batch.setBlendFunction(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);