有没有办法在没有BitmapFonts的libgdx中绘制字符串?

时间:2019-05-23 13:49:04

标签: java fonts libgdx

我想在我的Libgdx游戏中绘制字符串,但是我不能使用BitMap字体,因为我的游戏规模很小,无法使用它们。

2 个答案:

答案 0 :(得分:1)

这听起来像是您的视口比例太小,无法正确显示字体。有两种解决方案。第一个更好的易读性,第二个又快又脏。

一种方法是对UI使用第二个视口,该视口具有适当的文本缩放比例。您将首先调用gameViewport.apply(),绘制游戏,然后结束批次。然后使用uiViewport.apply(),然后绘制UI。这种方法的缺点是,如果您要绘制与游戏中移动对象对齐的文本,则必须使用两个视口来转换坐标。否则,这是获得清晰外观的UI的理想方法。理想情况下,您可以使用ScreenViewport并在运行时根据屏幕尺寸选择字体大小,方法是使用不同比例的多种字体版本发布游戏,或者使用FreeTypeFontGenerator。

第二种方法是按比例缩小所有文本。首次调用bitmapFont.setUseIntegerPositions(false)不会将位置四舍五入为整数。然后,调用bitmapFont.setScale()并缩小您的大小以适合您的游戏视口。

答案 1 :(得分:0)

有一个gdx-freetype项目:

https://www.badlogicgames.com/wordpress/?p=2300

,它使用TrueType字体作为源,以动态生成位图字体。

不确定它的稳定性-没用过。