Класс 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 все выше написанное выглядит так

TextFormat

Нажмите Ctrl + Enter.

Фильм начнет воспроизводиться. Текст будет отображаться в текстовом поле с заданным форматированием.

Дополнительная информация

Начинающие изучать программирование на языке Actionscript часто удивляются следующему: зачем нужно проделывать такую большую работу по созданию форматирования таким способом и думают, что гораздо легче было бы сделать свойства (font, color, size и пр.) частью класса TextField и в результате применять их напрямую к созданному текстовому полю вместо того, чтобы делать все эти дополнительные шаги по созданию экземпляра класса TextFormat AS3. И они будут правы, но лишь отчасти.

Дело в том, что в большинстве случаев форматирование применяется не к одному текстовому полю, а к нескольким. Представьте себе коммерческий веб-сайт, на котором размещена информация о каком-то продукте или изделии. Скорее всего, для лучшего восприятия такой информации она будет размещена на нескольких текстовых полях как например: имя продукта, его размер/габариты, цена, другие детали. И если Вы хотите чтобы информация о цене продукта, его размерах и пр. была отформатирована в едином стиле, то, согласитесь, сделать это гораздо проще и быстрее, используя экземпляр класса TextFormat, чем применяя это форматирование к каждому пункту отдельно.