Изменение размера шрифта в скине
Я пишу игру, используя libgdx, и я позаимствовал skin.json (и связанные файлы) из учебника.
Используемый шрифт (по умолчанию) уродливо масштабировался на более плотных экранах, поэтому я создал собственный очень большой шрифт - и в самой игре я масштабирую его до разумного размера (в основном я использую BitmapFont.scale
). Шрифт, который я сейчас использую, в 3 раза больше предыдущего.
Я изменил ссылку на используемый шрифт в файле skin.json, и в результате на всех моих кнопках, заголовках и других элементах отображается крупный шрифт.
Есть ли способ масштабирования шрифта в файле.json? Или где-нибудь еще в коде? Скин не имеет setFont()
функциональность, поэтому я не могу создать масштабированный BitmapFont и назначить его)
3 ответа
Документация говорит, что любой get вернет дескриптор к реальному объекту. Так что изменения будут сохраняться.
Поэтому я изменил шрифт в skin.json, чтобы он указывал на мой новый шрифт.
Тогда я использовал этот код
this.getSkin().getFont("default-font").setScale(0.33f, 0.33f);
Чтобы масштабировать 'default-font' (как определено в skin.json) до нужного мне масштаба (в моем случае это 0.33f)
Libgdx изменил это еще в апреле 2015 года, так что заданный ответ больше не работает. Потребовалось немного, чтобы найти ответ, поэтому я решил оставить его здесь для других, так как этот ответ впервые появляется в Google.
this.getSkin().getFont("default-font").getData().setScale(0.33f,0.33f);
С 2017 года я должен был использовать
skin.getFont("default-font").getData().setScale(0.5f);
для будущих пользователей.