HTML TextField AS3. HTML-форматирование текста в текстовом поле
Форматирование посредством экземпляра класса TextFormat позволяет форматировать ВЕСЬ текст в выбранном текстовом поле, но это, к сожалению, не дает возможности форматировать отдельные абзацы, предложения, слова и буквы. Для того чтобы это осуществить Вам необходимо сделать гипертекстовую разметку такого текста (HTML TextField AS3).
Текстовые поля в ActionScript 3 поддерживают небольшой набор тэгов HTML 1.0, которые Вы можете использовать внутри них. В большинстве случаев это тэги, эквивалентные по своему значению свойствам класса TextFormat.
Например, класс textFormat содержит свойство url для создания гиперссылки; в HTML ту же задачу решает тэг <a>. Кроме того, для того чтобы сделать текст жирным используется тэг <b>, наклонным – <i>, в виде списка – <li> и т.д. Для добавления картинок используют тэг <img>, перехода на новую строку – <br>, создания нового абзаца – <p>.
В большинстве случаев, атрибуты для вышеперечисленных тэгов поддерживаются в ActionScript точно также как и в HTML. Например, Для определения цвета шрифта достаточно записать следующее:
<font color="#333333">
Для того чтобы применить форматирование HTML TextField AS3 в ActionScript Вы должны добавить текст в текстовое поле с помощью свойства htmlText, а не с помощью стандартного text. Если Вы попытаетесь использовать оба свойства, то «сработает» только text.
HTML TextField AS3. HTML-форматирование текста в текстовом поле
Создайте текстовое поле
var txtInfo:TextField = new TextField();
Добавьте это поле на сцену (stage)
addChild(txtInfo);
Назначьте ширину для этого текстового поля
txtInfo.width = 200;
Задайте автоматическое определение размеров для созданного текстового поля
txtInfo.autoSize= TextFieldAutoSize.LEFT;
Если необходимо включите свойство для поддержки многострочного текста
txtInfo.multiline = true;
Декларируйте переменную с типом данных String, которая включает в себя HTML-форматирование
var info:String = "<p>Фамилия: Иванов</p><p>Должность: директор</p>";
Поместите переменную info в текстовое поле, используя свойство htmlText
txtInfo.htmlText = info;
Весь код, набранный выше, отобразится во Flash CS5 так:
Haжмите Ctrl + Enter.
Ролик запустится. Отформатированный текст появится на экране монитора.
Дополнительная информация
Flash Player также поддерживает специальные символы. Вы наверняка знаете, что для гипертекстовой разметки страниц используются определенные символы, такие как, например, " < " и " > ", " / " и " ! " и т.д. Нельзя, используя форматирование (HTML TextField) записать математическую формулу 6 < 10, т.к. при обработке броузером HTML-кода символ «меньше» будет принят за символ, открывающий тэг и произойдет ошибка. Вместо этого Вам нужно использовать следующую запись <
Flash поддерживает следующие специальные символы:
- < – символ "меньше чем"
- > – символ "больше чем"
- & – символ "амперсанд"
- " – символ "кавычки"
- ' – символ "апостроф"
- – символ "неразрывный пробел"
Любые тэги языка HTML, которые не поддерживаются Flash Player'ом будут проигнорированы. Например, если Вы захотите вставить таблицу в текстовое поле и запишите следующий код
<table><tr><td>Фамилия</td></tr><tr><td>Иванов</td></tr></table>
то все тэги, которые не распознаются Flash Player'ом <table><tr><td> и их закрывающие тэги будут удалены. Из записанного останется только
Фамилия Иванов