Класс TextFormat AS3. Форматирование текстового поля
В ActionScript 3 прежде чем начать форматирование текстового поля Вы должны создать экземпляр класса TextFormat AS3. Для этого декларируйте переменную с типом данных TextFormat и вызовите конструктор класса.
var tfMyText:TextFormat = new TextFormat();
Затем начинайте форматирование Вашего текста, используя свойства класса TextFormat AS3. Назначайте этим свойствам такие значения, которые необходимы. Например:
tfMyText.font = "Verdana"; tfMyText.color = 0x333333;
После создания экземпляра класса TextFormat и назначения его свойствам определенных величин, необходимо применить все это к текстовому полю. У экземпляров класса TextField для этих целей существует метод setTextFormat, который принимает в качестве аргумента имя экземпляра класса TextFormat. Например, к экземпляру текстового поля с именем myText Вы можете применить форматирование, содержащееся в экземпляре tfMyText класса TextFormat AS3 следующим образом:
myText.setTextFormat(tfMyText);
Форматирование текстового поля
Создание экземпляра класса TextFormat AS3
Создайте переменную с типом данных TextFormat
var tfNameFormat:TextFormat = new TextFormat();
Назначьте шрифтовую гарнитуру
tfNameFormat.font = "Times New Roman";
Определите размер шрифта
tfNameFormat.size = 14;
Назначьте цвет шрифта
tfNameFormat.color = 0x222222;
Создание экземпляра класса TextField
Создайте текстовое поле
var txtPicName:TextField = new TextField();
Поместите нужный текст в созданное текстовое поле
txtPicName.text = "Образец картинки";
Определите положение текстового поля по оси х
txtPicName.x = 150;
Определите положение текстового поля по оси y
txtPicName.y = 150;
Добавьте текстовое поле на сцену (stage)
addChild(txtPicName);
Применение форматирования и просмотр результатов
Примените форматирование (экземпляр класса TextFormat с именем tfNameFormat) к текстовому полю с именем txtPicName
txtPicName.setTextFormat(tfNameFormat);
В редакторе кода программы Adobe Flash CS5 все выше написанное выглядит так
Нажмите Ctrl + Enter.
Фильм начнет воспроизводиться. Текст будет отображаться в текстовом поле с заданным форматированием.
Дополнительная информация
Начинающие изучать программирование на языке Actionscript часто удивляются следующему: зачем нужно проделывать такую большую работу по созданию форматирования таким способом и думают, что гораздо легче было бы сделать свойства (font, color, size и пр.) частью класса TextField и в результате применять их напрямую к созданному текстовому полю вместо того, чтобы делать все эти дополнительные шаги по созданию экземпляра класса TextFormat AS3. И они будут правы, но лишь отчасти.
Дело в том, что в большинстве случаев форматирование применяется не к одному текстовому полю, а к нескольким. Представьте себе коммерческий веб-сайт, на котором размещена информация о каком-то продукте или изделии. Скорее всего, для лучшего восприятия такой информации она будет размещена на нескольких текстовых полях как например: имя продукта, его размер/габариты, цена, другие детали. И если Вы хотите чтобы информация о цене продукта, его размерах и пр. была отформатирована в едином стиле, то, согласитесь, сделать это гораздо проще и быстрее, используя экземпляр класса TextFormat, чем применяя это форматирование к каждому пункту отдельно.