Label.setScale和Label.setFontScale之间的区别?

时间:2017-02-01 00:16:22

标签: java libgdx scene2d

这两种方法都没有记录,似乎没有像我期望的那样表现。

mylabel.setFontScale(3f);使明显的文字大3倍(我正在寻找),但在与Align.center一起使用时却没有正确居中。

mylabel.setScale(3f);尽我所能无所作为。

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

1 个答案:

答案 0 :(得分:2)

setFontScale()确实放大了字体,这通常是不受欢迎的,因为按比例缩放会对字体进行像素化。

如果您没有像表那样使用布局actor,

label.setScale()会起作用。当演员进入布局时,布局负责设置大小和位置。例如,一旦将其放入表格单元格中,就可以控制它。

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

Detailed documentation使用表格。

然而,这只是标签的大小,而不是内部的文字。你仍然可以做setFontScale(3f),但这会使字体像素化。您有2个更好的选择:

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