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

Rud*_*_TM 14 java fonts libgdx

我正在为我的文本使用BitmapFonts,LabelStyles和Labels.

我想调整一些标签,所以我用它:

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;
Run Code Online (Sandbox Code Playgroud)

但是当我想调整另一个标签的大小时,包含该字体的所有标签都会调整大小(我创建了一个新的LabelStyle).所以我调整标签而不是字体,但这并没有解决问题,因为它没有调整标签的大小,任何想法?

Xia*_* Yu 14

如果要单独缩放它们,则必须为每个Label(或标签组)创建单独的BitmapFonts和LabelStyle.

从检查libgdx源代码开始,Label使用LabelStyle中对BitmapFont的引用并将其传递给内部使用的BitmapFontCache ; 在任何时候都不会进行深度复制,因此它们都使用了与您创建LabelStyle相同的BitmapFont.


K J*_*son 13

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

lblA = new Label("A", skinA);
Run Code Online (Sandbox Code Playgroud)

我可以用以下内容调整该标签的字体大小:

lblA.setFontScale(3);
Run Code Online (Sandbox Code Playgroud)

这不会影响我以相同方式创建的其他标签.我已经将我的一些标签设置为字体比例(2),这些都是正常的(不受(3)的影响).但是,我发现我的标签样式不像'独立'.他们需要分配自己的LabelStyle,否则你会得到你所说的行为.