Создание динамического текста ActionScript (dynamic text)

На этом уроке мы рассмотрим два вопроса:

  1. Создание динамического текста ActionScript (dynamic text)
  2. Дополнительная информация

Динамические текстовые поля (dynamic text ActionScript) так же как и MovieClip могут создаваться либо визуально (с помощью инструмента Text во Flash), либо с помощью кода (Actionscript). Аналогично Вы можете создавать поля ввода текста (input text field), используя любой из двух методов. Статический же текст (static text) может быть реализован во Flash только визуально.

Для того чтобы создать динамический текст (dynamic text ) с помощью кода ActionScript нужно сначала декларировать переменную (var), которая будет ссылаться на него. Имя этой переменной небходимо записывать согласно правилам:

  • сначала пишется сокращение txt, указывающее на то, что это текстовый объект
  • затем само имя из которого ясно следует для чего этот текстовый объект предназначен
  • далее записываете тип данных :TextField
  • ключевое слово new
  • вызывается конструктор класса TextField()
var txtMyFavBook:TextField = new TextField(); 

Чтобы добавить экземпляр на сцену используйте метод addChild(), передав ему в качестве аргумента имя экземпляра:

addChild(txtMyFavBook);

Затем установите другие свойства вновь созданного текстового поля: ширину, высоту, местоположение на сцене (координаты х и у) и др..

Добавить текст в текстовое поле можно с помощью свойств text или htmlText. Простой текст может быть добавлен в виде строки (string). Использование свойства htmlText мы обсудим в следующем разделе. Кроме того Вы можете этот текст отформатировать используя свойства класса TextFormat, который тоже будет обсуждаться в следующем разделе данного курса.

Создание динамического текста с помощью Actionscript 3.0

Откройте панель Actions (нажмите F9).

Создайте переменную, назначьте ей тип данных TextField

var txtMyBook:TextField

Поставьте знак равно, введите ключевое слово new и вызовите конструктор класса TextField

new TextField();

Добавьте экземпляр текстового поля на сцену с помощью метода addChild()

addChild(txtMyBook);

Добавьте название книги, используя свойство text

txtMyBook.text = "Основы Actionscript 3.0";

Определите местоположение текстового поля на сцене, установив координаты х и у

txtMyBook.x = 150;
txtMyBook.y = 150;

Назначьте ширину и высоту текстовому полю, используя свойство width и height

txtMyBook.width = 150;
txtMyBook.height = 50; 

Если нужен внешний контур для текстового поля, то воспользуйтесь свойством border

txtMyBook.border = true;

dynamic text ActionScript (динамический текст)

Нажмите Ctrl + Enter.

Запустится Flash Player, показывающий текстовое поле на экране.

Текстовое поле на экране

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

Для установки ширины текстового поля в автоматическом режиме, т.е. на ширину введенного текста, используйте свойство autoSize класса TextFieldAutoSize, где предусмотрены три параметра: LEFT, RIGHT и CENTER. От выбора одного из них будет зависеть выравнивание текста внутри поля. Пример:

txtMyBook.autoSize = TextFieldAutoSize.LEFT;

Если Ваш текст довольно длинный и ему нужно придать форматирование подобное абзацу, то используйте свойства multiline и wordWrap

txtMyBook.multiline = true;
txtMyBook.wordWrap = true;

Три свойства, показанные выше, форматируют текст таким образом: ширина текстового поля будет взята из свойства width, а высота регулироваться автоматически в зависимости от объема текста.