Java 在libgdx中使用不同大小的相同字体

Java 在libgdx中使用不同大小的相同字体,java,fonts,libgdx,Java,Fonts,Libgdx,我使用位图字体、标签样式和标签来显示文本 我想调整一些标签的大小,因此我使用以下方法: fontType.scale(-.6f); LabelStyle style = new LabelStyle(fontType, Color.WHITE); titleLabel = new Label("Points", style); titleLabel.setColor(Color.RED); titleLabel.x = 260; titleLabel.y = 310; 但是当我想调整另一

我使用位图字体、标签样式和标签来显示文本

我想调整一些标签的大小,因此我使用以下方法:

fontType.scale(-.6f);

LabelStyle style = new LabelStyle(fontType, Color.WHITE);

titleLabel = new Label("Points", style);
titleLabel.setColor(Color.RED);
titleLabel.x = 260; 
titleLabel.y = 310;

但是当我想调整另一个标签的大小时,所有包含该字体的标签都会调整大小(我创建了一个新的LabelStyle)。因此,我调整了标签的大小,而不是字体,但这并不能解决问题,因为它不会调整标签的大小,你知道吗?

如果你想独立地缩放标签,你必须为每个标签(或标签组)创建单独的位图字体和标签样式

通过检查libgdx源代码,使用LabelStyle中对BitmapFont的引用,并将其传递给内部使用的;任何时候都不会进行深度复制,因此它们都使用与创建LabelStyle相同的位图字体。

我使用的是libgdx 0.9.8(因为这是一个老问题),当我创建标签时:

lblA = new Label("A", skinA);
我可以通过以下方法调整该标签的字体大小:

lblA.setFontScale(3);

这不会影响以相同方式创建的其他标签。我已经将我的一些标签设置为字体比例(2),这些都是可以的(不受(3)的影响)。然而,我发现我的标签样式并不是“独立的”。他们需要指定自己的标签样式,否则你就会得到你所说的行为。

我认为这将是最好的选择:/虽然创建位图字体需要花费很多时间。谢谢:)可惜label.setScale()没有用。我也认为这是最好的解决方案,尽管它很难看。感谢分享。从libGDX 1.5.6开始(如果不是更早的话),使用
setFontScale(float)
会单独影响标签,即使它们共享相同的
LabelStyle
@JamesSkemp是否有类似全局设置的功能来放大所有内容?手机上的所有东西都画得很小(像素密度更高),但这也意味着我可以不用画2倍甚至3倍大的字体并节省纹理空间。问得好@MennoGouw-恐怕我不确定:(如果是我,我想我应该创建某种全局函数或
标签样式
)。