更改皮肤中的字体大小

我正在使用libgdx编写游戏,并从教程中借用了skin.json(和相关文件)。

正在使用的字体(默认)在更密集的屏幕上以丑陋的方式缩放,因此我使用自己非常大的字体生成 – 在游戏本身中,我将其缩放到合理的大小(基本上我使用BitmapFont.scale )。 我现在使用的字体是前一个字体的3倍。

我在skin.json文件中更改了要使用哪种字体的引用,因此,我的所有按钮,标题和其他内容都显示了大量字体。

有没有办法缩放.json文件中的字体? 或者代码中的其他任何地方? Skin没有setFont()function,因此我无法创建缩放的BitmapFont并分配它)

Libgdx在2015年4月改变了这一点,因此设定的答案不再适用。 花了一点时间找到答案,所以我想我会把它留给其他人,因为这个答案首先出现在谷歌。

 this.getSkin().getFont("default-font").getData().setScale(0.33f,0.33f); 

文档说任何获取都将返回实际对象的句柄。 因此,变化将持续存在。

所以我更改了skin.json中的字体以指向我的新字体。

然后我用了这段代码

 this.getSkin().getFont("default-font").setScale(0.33f, 0.33f); 

将’default-font’(在skin.json中定义)缩放到我想要的比例(在我的例子中是0.33f)

截至2017年我不得不使用

 skin.getFont("default-font").getData().setScale(0.5f); 

对于未来的用户。