![]() |
2
0
如果不想使用GL扩展名,则需要将字体创建为位图,然后创建一个类,将该字符串转换为可以绘制的四元字符串。 在我的游戏中,我用这两种字体的方法。我有一个类,它采用宽纹理,所有字母间距均匀,以及一个与图像匹配的字符串,然后对字母进行查找,以确定它在位图中应该走多远。 另一种选择是使用Android将文本呈现到屏幕外位图,然后将文本绑定为纹理。这将允许您使用Android内置字体处理和渲染来创建基于纹理的字体。 第二种方法我还没有使用,但我已经将谷歌地图渲染到屏幕外的画布上,然后将位图绑定为GL纹理,因此对文本进行该操作应该简单得多。 如果您计划在一个GL循环中修改字符串数据,那么您也需要真正担心StringBuilder,因为它会导致GC和性能问题。我对所有字符串进行了硬编码,这样它就不会进行分配,我的所有快速数字都是通过第二个绘制函数完成的,该函数专门用于绘制更改的数字,而不使用字符串生成器。 |