Класс TextFormat AS3. Форматирование текстового поля

В ActionScript 3 прежде чем начать форматирование текстового поля Вы должны создать экземпляр класса TextFormat AS3. Для этого декларируйте переменную с типом данных TextFormat и вызовите конструктор класса.

Затем начинайте форматирование Вашего текста, используя свойства класса TextFormat AS3. Назначайте этим свойствам такие значения, которые необходимы. Например:

После создания экземпляра класса TextFormat и назначения его свойствам определенных величин, необходимо применить все это к текстовому полю. У экземпляров класса TextField для этих целей существует метод setTextFormat, который принимает в качестве аргумента имя экземпляра класса TextFormat. Например, к экземпляру текстового поля с именем myText Вы можете применить форматирование, содержащееся в экземпляре tfMyText класса TextFormat AS3 следующим образом:

Форматирование текстового поля

Создание экземпляра класса TextFormat AS3

Создайте переменную с типом данных TextFormat

Назначьте шрифтовую гарнитуру

Определите размер шрифта

Назначьте цвет шрифта

Создание экземпляра класса TextField

Создайте текстовое поле

Поместите нужный текст в созданное текстовое поле

Определите положение текстового поля по оси х

Определите положение текстового поля по оси y

Добавьте текстовое поле на сцену (stage)

Применение форматирования и просмотр результатов

Примените форматирование (экземпляр класса TextFormat с именем tfNameFormat) к текстовому полю с именем txtPicName

В редакторе кода программы Adobe Flash CS5 все выше написанное выглядит так

TextFormat

Нажмите Ctrl + Enter.

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

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

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

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

Класс TextFormat AS3. Форматирование текстового поля: 1 комментарий

  1. Уважаемый Валерий! Я опять немного запутался. Как в том же примере с Яблоком, Грушей и Персиком сделать, чтобы вместо простого текста выводился форматированный классом TextFormat? Так как хотелось добавить другой шрифт, сделать его размер большим, вставлять гиперссылки и так далее. По способу с таким кодом: import flash.events.MouseEvent; import flash.text.TextField; var txt:TextField = new TextField (); txt.x = 275; txt.y = 350; txt.width = 500; txt.height = 20; txt.text = “”; addChild(txt); function Yabloko(e:MouseEvent):void { txt.text = “Яблоко”; } btnYabloko.addEventListener(MouseEvent.CLICK, Yabloko); function Grusa(e:MouseEvent):void { txt.text =”Груша”; } btnGrusa.addEventListener(MouseEvent.CLICK, Grusa); function Persik(e:MouseEvent):void { txt.text = “Персик”; } btnPersik.addEventListener(MouseEvent.CLICK, Persik); так как он мне показался наиболее простым. Я добавляю TextFormat, согласно этому уроку, но ничего не происходит, то есть не изменяется ни цвет текста, ни шрифт, ни его размер.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *