Java 有没有一种不用位图字体在libgdx中绘制字符串的方法?

Java 有没有一种不用位图字体在libgdx中绘制字符串的方法?,java,fonts,libgdx,Java,Fonts,Libgdx,我想在我的Libgdx游戏中绘制字符串,但我不能使用位图字体,因为我的游戏的比例太小,无法使用它们。听起来您的意思是视口的比例太小,无法正确显示字体。有两种解决办法。第一种更易于辨认,而第二种则快速且肮脏 一种是为UI使用第二个视口,该视口具有适当的文本比例。首先调用gameViewport.apply(),绘制游戏并结束批处理。然后使用uiViewport.apply(),然后绘制UI。这种方法的缺点是,如果要绘制与游戏中移动对象对齐的文本,则必须使用两个视口来转换坐标。否则,这是获得外观简洁

我想在我的Libgdx游戏中绘制字符串,但我不能使用位图字体,因为我的游戏的比例太小,无法使用它们。

听起来您的意思是视口的比例太小,无法正确显示字体。有两种解决办法。第一种更易于辨认,而第二种则快速且肮脏

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


第二种方法是缩小所有文本的比例。首先调用
bitmapFont.setUseIntegerPositions(false)
do它不会将位置舍入为整数。然后调用
bitmapFont.setScale()
,无论您想将其缩小多少以适应游戏视口

有一个gdx freetype项目:

它使用TrueType字体作为源来动态生成位图字体


不确定这有多稳定-没有使用它。

你能使用FreeTypeFont吗?如果我能使用freeType,我就不是舒尔。我的游戏非常放大,因为我使用box2d。我需要一个小于1的位图大小。如果我画一些东西,它看起来就是这样。我的视口只有12.8像素的亮度和7.2像素的高度,这真是个好主意。