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



我想在我的libgdx游戏中绘制字符串,但我不能使用bitmap字体,因为我的游戏的比例是使用它们。

听起来您的意思是您的视口度比例太小,无法正确显示字体。有两种解决方案。第一个更适合易读性,而第二个则是快速而肮脏的。

一种是使用第二个视口对UI使用适当的文本量表。您将首先致电gameViewport.apply(),绘制游戏并结束批次。然后使用uiViewport.apply(),然后绘制UI。此方法的不利之处是,如果您想绘制与游戏中移动对象保持一致的文本,则必须使用两个视口来转换坐标。否则,这是获得清晰外观UI的理想方法。理想情况下,您将使用ScreenViewPort并根据屏幕尺寸在运行时选择一个字体大小,要么通过在不同尺度上使用多个版本的字体运送游戏,要么通过使用FreetypeFontGenerator。

第二种方法是缩小所有文本。首先致电bitmapFont.setUseIntegerPositions(false),它不会将位置舍入整数。然后致电bitmapFont.setScale(),但是您想缩小它以适合您的游戏视口。

有一个GDX-Freetype项目:

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

,它使用truetype字体作为源来生成即时生成位图字体。

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

最新更新