Я узнал, что есть новый компонент в LibGDX в ночных сборках - TextArea
, который является частью пакета scene2d.ui
. Приятно иметь такой компонент, очень простой в использовании, но то, что мне не хватает, - это поддержка многоцветного текста.Разноцветный текст в libgdx
Я хочу выделить некоторые ключевые слова в тексте с другим цветом, но я не знаю, как это сделать с текущим api. Существует один метод в BitmapFontCache класса:
public void setColors (Color tint, int start, int end)
Javadoc для этого метода говорит следующее:
Устанавливает цвет указанных символов. Это можно вызывать только после setText (CharSequence, float, float) и сбрасывается каждый раз при вызове setText.
Но я не знаю, как использовать его через объект TextArea, или если это возможно сделать так. Кто-то, кто пытался это понять? Каждый намек будет оценен.
Я бы использовал класс BitmapFont напрямую или расширил класс, чтобы делать то, что вам нужно для этого. Вы можете вызвать BitmapFont.setColor (Цвет), чтобы изменить цвет самого шрифта. Существует также новый модуль для чтения шрифтов TTF, если вам нужно масштабировать шрифт в соответствии с переменным размером или чем-то еще. –