两种方法均未记录,并且似乎未达到我的预期。

mylabel.setFontScale(3f);使外观文本大3倍(我在寻找什么),但在与Align.center一起使用时却不能正确居中。

据我所知,mylabel.setScale(3f);什么也不做。

这两种方法之间有什么区别,应该使用哪种方法使标签更大并正确居中?

最佳答案

setFontScale()确实会放大字体,这通常是不需要的,因为按比例放大会放大字体。

如果您不使用表格等布局角色,则label.setScale()可以工作。当演员进入布局时,布局负责设置大小和位置。例如,将其放入表格单元格后即可对其进行控制。

table.add(myLabel).width(300).height(80).padLeft(100).expandX();


Detailed documentation有关使用表的信息。

但是,这只是调整标签的大小,而不是里面的文本。您仍然可以执行setFontScale(3f),但这将使字体像素化。您有2个更好的选择:


在Hiero中创建3倍大的额外位图字体。
使用Gdx.Freetype导入.ttf并在运行时生成字体。

07-21 11:02