Как установить размер шрифта libGDX bitmap?
Я рендеринг на экране игры fps с использованием растрового шрифта, но нет никаких методов для размера. Это проблема для меня, потому что мой размер видового экрана камеры очень мал, поэтому текст при визуализации огромен и пикселен.
font.draw(batch, Float.toString(Gdx.graphics.getFramesPerSecond), x, y);
4 ответов
вы пробовали метод setScale (), который я использую для изменения размера моего шрифта
myFont.getRegion().getTexture().setFilter(TextureFilter.Linear, TextureFilter.Linear);
myFont.setScale(scale);
Если у вас возникли проблемы, оставьте комментарий
Удачи !!
Edit:
С последней версией libgdx попробуйте масштабировать шрифт следующим образом:
myFont.getData().setScale();
Я часто использую то, что предложил minos23. Но падение заключается в том, что он может выглядеть пиксельным, особенно при масштабировании вверх. Причудливый большой растровый шрифт может занять много места, и если вам нужно много разных шрифтов, вы можете превысить свой бюджет.
С помощью Gdx.Программа FreeType вы можете создавать bitmapfonts во время выполнения из small .ttf
файлы. Это означает, что вам нужно только отправить .ttf
файлы с вашим приложением и может генерировать шрифт на основе пользовательских настроек, таких как разрешение.
другое затем масштабирование и решение freetype имеет несколько растровых изображений разных размеров шрифта. Таким образом, ваши шрифты остаются четкими все время, но за счет хранения.
Я тоже использую функцию setScale (), как и другие, чтобы уменьшить размер шрифта, но здесь я хочу предложить другое решение, и у меня есть вопрос. Почему вы не используете экземпляр FPSRenderer или почему вы не рисуете метку fps на другом пакете, матрица проекции которого имеет размер экрана?
setScale-это функция для использования. Обратите внимание, что с новейшей версией LibGDX (это изменилось ранее) вам нужно сделать это isntead:
font.getData().setScale(2, 2);
прежде чем это было достаточно, чтобы сделать:
font.setScale(2, 2);
первое число в setScale-это шкала X, а второе-шкала Y.