LibGDX 标签中的自动缩放文本

LibGDX autoscale text in Label

在我的 libgdx 项目中,我有一个标签显示一个更大的数字。 但是当数字变得太大时,它就会比标签大。 当文本比标签大时,如何使文本的大小变小,使其不至于太大?

我从未尝试过,但如果您查看 Label documentation, there is a setFontScale method

你试过了吗?

标签的宽度由 yourLabel.getPrefWidth() 给出,标签内文本的宽度由 yourLabel.getGlyphLayout.width 给出。您可以比较两者,如果文本的宽度大于标签的宽度,则缩小字体。

我想你可以在你的 render() 中使用类似的东西:

if(yourLabel.getGlyphLayout.width > yourLabel.getPrefWidth()){
    yourLabel.setFontScale(yourLabel.getPrefWidth()/yourLabel.getGlyphLayout.width);
}