我有一个用Hiero构建的位图字体,我在scene2d Labels中使用它。
在单个Label实例中,我需要减少字体的lineHeight值,但是我想保留其他标签(使用相同的字体)完整,所以他们应该保留默认的lineHeight字体。
我试图像这样调整价值:
label.getStyle().font.getData().setLineHeight(localReducedValue);
然而,这已经修改了所有标签 - 回想起来,这似乎是合乎逻辑的,因为我正在修改LabelStyle本身。
遗憾的是label.setLineHeight(localReducedValue)
之类的内容并不存在,所以此时我看到了两种可能的解决方案:
第一个想法似乎很浪费,第二个想法可能有点复杂,所以我希望有更简单的方法来实现标签中的临时线高度。
答案 0 :(得分:2)
Libhan Sweet,LibGDX的核心开发人员之一,善意地提出了a solution,这是完美的:
覆盖标签#布局,设置行高,调用super.layout,重新设置行高。你需要使用布局而不是绘制,因为布局计算和缓存字形位置,绘制只是绘制它们。
答案 1 :(得分:-1)
您可以通过以下操作更改单个LabelStyle
的{{1}}:
Label
然后你可以修改样式而不影响所有标签。