我想在我的Libgdx游戏中绘制字符串,但是我不能使用BitMap字体,因为我的游戏规模很小,无法使用它们。
答案 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字体作为源,以动态生成位图字体。
不确定它的稳定性-没用过。