android - libGDX中的BitmapFont在隐藏和显示屏幕后变成正方形
问题描述
我在 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;
}
在某些操作之后,将屏幕隐藏一段时间(例如显示广告或隐藏应用程序)文本会变成正方形。它经常发生,但不是每次都发生。
取而代之的是:正确显示文本
以前有人遇到过这个问题吗?我可以尝试做什么?
解决方案
当我将预乘 alpha 混合添加到批处理时,我遇到了这个问题。您可能会因为在某处使用淡入淡出操作(可能是选择框?)而出现这种情况。
尝试在绘制字体之前添加跟随线:
batch.setBlendFunction(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
推荐阅读
- node.js - 找不到领域模块“(...)node_modules\Realm\build\Release\realm.node”
- java - 从中间点开始的简单文本迷宫求解器在找到第一个出口时不会结束
- javascript - 如何获取日期输入的值?
- apache-spark - Spark AQE Post-Shuffle partitions coalesce 无法按预期工作,甚至在某些分区中造成数据倾斜。为什么?
- javascript - Jquery ajax 调用在 django 应用程序中无法用于依赖下拉
- python - 使用 boto3 从 ubuntu 系统上传到 s3 存储桶后,如何通过 python 代码公开对象?
- nginx - 根据referer有条件地重写请求url - Nginx
- c# - 乐观锁定是否足以确保资金转移等操作的安全?
- javascript - 在响应式设计中,拖放在 wordpress 页面中不起作用
- python - 无法创建 python 可执行文件来读取 spss 文件