Использование одного и того же шрифта с разными размерами в libgdx - PullRequest
14 голосов
/ 12 марта 2012

Я использую 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;

Но когда я хочу изменить размер другой меткивсе метки, содержащие этот шрифт, изменяют размеры (я создаю новый LabelStyle).Поэтому я изменяю размер метки вместо шрифта, но это не решает проблему, потому что она не меняет размер метки, любая идея?

Ответы [ 2 ]

14 голосов
/ 14 марта 2012

Вам нужно будет создать отдельные BitmapFonts и LabelStyle для каждой метки (или группы меток), если вы хотите масштабировать их независимо.

При проверке исходного кода libgdx Label использует ссылку на BitmapFont из LabelStyle и передает ее в BitmapFontCache , используемую для внутреннего использования; в любом случае глубокая копия не выполняется, поэтому все они используют тот же BitmapFont, с которым вы создали LabelStyle.

13 голосов
/ 11 февраля 2014

Я использую libgdx 0.9.8 (так как это старый вопрос), и когда я создал ярлык как таковой:

lblA = new Label("A", skinA);

Я могу изменить размер шрифта только этого ярлыка с помощью:

lblA.setFontScale(3);

Это не влияет на другие мои ярлыки, которые были созданы таким же образом. Я установил некоторые из моих меток в масштабе шрифта (2), и они в порядке (не влияет (3)). Тем не менее, я нахожу, что стиль моего лейбла не такой «независимый». Им нужно назначить свой собственный LabelStyle, в противном случае вы получите поведение, которое вы заявляете.

...