На главную

Библиотека Интернет Индустрии I2R.ru

Rambler's Top100

Малобюджетные сайты...

Продвижение веб-сайта...

Контент и авторское право...

Забобрить эту страницу! Забобрить! Блог Библиотека Сайтостроительства на toodoo
  Поиск:   
Рассылки для занятых...»
I2R » Сайтостроительство » Flash

Использование Flash MX. Работа с текстом. Управление текстом с помощью ActionScript

В материале:

Управление текстом с помощью ActionScript

Динамические текстовые поля и поля ввода являются экземплярами объекта ActionScript TextField. При создании текстового поля в панели Properties (Свойства) можно задать ему имя экземпляра. Имя экземпляра можно использовать в выражениях ActionScript, чтобы создавать, изменять и форматировать текстовые поля и их содержимое, используя объекты TextField и TextFormat.

Объект TextField обладает такими же свойствами, как объект MovieClip, а также имеет методы, с помощью которых можно создавать текст, выделять его и манипулировать им. С помощью объекта TextFormat можно изменять форматирование символов и абзацев текста. Эти объекты можно использовать для управления текстовыми полями, не обращаясь к панели Properties (Свойства).

В текстовом поле можно задавать текст, содержащий HTML-тэги, воспользовавшись именем переменной текстового поля, либо именем экземпляра поля. Flash сохраняет созданное с помощью ActionScript HTML-форматирование текстовых полей.

Если назначить текстовому полю переменную, поле будет отображать её значение. С помощью ActionScript можно передать переменную в другие части клипа, серверному приложению для сохранения в базе данных и т.д. Также можно заменить значение переменной значением, полученным от серверного приложения, либо загруженным из другой части ролика. За дополнительной информацией по использованию переменных обращайтесь к разделу О переменных. За дополнительной информацией о связи с внешними приложениями обращайтесь к разделу Связь с внешними источниками данных.

top

Динамическое создание и удаление текстовых полей

С помощью метода createTextField объекта MovieClip можно создать новое пустое текстовое поле, дочернее мувику, вызвавшему метод. С помощью метода removeTextField можно удалить текстовое поле, созданное с помощью createTextField. Этот метод не работает с текстовыми полями, размещенными на Монтажной линейке (Timeline).

После создания текстового поля можно воспользоваться объектом TextField для настройки свойств поля. Если свойства не настраивать, новое текстовое поле получает набор свойств по умолчанию. Свойства по умолчанию для нового текста таковы:

type = "dynamic"
border = false
background = false
password = false
multiline = false
html = false
embedFonts = false
variable = null
maxChars = null

После создания текстового поля можно использовать объект TextFormat для форматирования текста. Для этого необходимо создать новый объект TextFormat и передать его как параметр методу setTextFormat объекта TextField. Текстовое поле, созданное при помощи метода createTextField, получает следующий экземпляр объекта TextFormat по умолчанию:

font = "Times New Roman"
size = 12
textColor = 0x000000
bold = false
italic = false
underline = false
url = ""
target = ""
align = "left"
leftMargin = 0
rightMargin = 0
indent = 0
leading = 0
bullet = false
tabStops = [] (empty array)

Чтобы создать динамическое текстовое поле:

  1. Выберите кадр, кнопку или мувик.
  2. Выберите Window (Окно) > Actions (Действия), чтобы открыть панель действий (Actions panel).
  3. В панели инструментов Actions последовательно выберите категории: Objects, затем Movie, MovieClip и наконец, Methods, затем дважды щёлкните на методе createTextField.
  4. В поле Object field введите имя экземпляра мувика, который будет предком текстового поля. В данном примере введите _root, поскольку родителем поля является основная Монтажная линейка.
  5. Введите значения следующих параметров:
    • Instance Name - это имя экземпляра нового текстового поля. В данном примере введите myText.
    • Depth - это число, задающее порядок обхода полей. В данном примере введите 1.
    • X - это x координата, по отношению к родительскому клипу. Введите 50.
    • Y - это y координата, по отношению к родительскому клипу. Введите 50.

    В окошке Script отобразится следующий код:

    _root.createTextField("mytext",1,50,50,200,100);
  6. В панели инструментов Actions последовательно выберите следующие категории: Objects, затем Movie, TextField, Properties, затем дважды щёлкните на свойстве text. В данном примере введите myText в поле параметра Object.
  7. В поле Value (Значение) введите this is my first test field object text. В окошке Script должен появиться следующий код:mytext.text = "this is my first test field object text";

В данном примере создаётся текстовое поле с именем экземпляра myText, уровнем 1, шириной 200, высотой 100, координатой x, равной 50 и y, равной 50.

За подробным описанием метода createTextField объекта TextField обращайтесь к его описанию в ActionScript Dictionary в меню Help.

top

Динамическая настройка параметров текста

Чтобы с помощью ActionScript настроить параметры текстового поля, необходимо сначала назначить текстовому полю имя экземпляра. Если текстовое поле создается с помощью инструмента Text (Текст), имя экземпляра можно задать в панели Properties (Свойства). Если текстовое поле создаётся динамически, имя экземпляра можно передать как параметр метода createTextField.

Чтобы динамические настроить параметры текста:

  1. Выберите Window (Окно) > Actions (Действия), чтобы открыть панель действий (Actions).
  2. Чтобы создать текстовое поле, сделайте что-либо из следующего:
    • Выберите инструмент Text и нарисуйте текстовое поле. В панели Properties (Свойства) задайте имя экземпляра текстового поля (instance name). В данном примере введите имя экземпляра myText.
    • Дважды щёлкните на методе createTextField объекта MovieClip в панели инструментов Actions toolbox, чтобы добавить его в окошко Script панели Actions. Смотрите параграф Динамическое создание и удаление текстовых полей. В данном примере введите имя экземпляра myText как параметр метода createTextField.
  3. Чтобы разместить текст в текстовом поле, сделайте что-нибудь из следующего:
    • Введите текст в текстовое поле на рабочей сцене.
    • Установите свойство text объекта TextField. Смотрите параграф Динамическое создание и удаление текстовых полей.
  4. В панели инструментов Actions последовательно выберите категории: Objects, затем Movie, TextField, Property, а затем дважды щёлкните на свойстве multiline.
  5. Введите следующие параметры:
    • Object - имя экземпляра текстового поля, параметры которого вы хотите установить.
    • Value - значение параметра
  6. Повторите шаг 4 для свойств wordWrap и border. В окошке Script появится следующий код:mytext.multiline = true;
    mytext.wordWrap = true;
    mytext.border = true;

За полным списком методов объекта TextField и подробным описанием каждого из них обращайтесь к описаню объекта TextField в ActionScript Dictionary в меню Help.

top

Динамическое форматирование текста

С помощью объекта ActionScript TextFormat можно устаналивать параметры форматирования текстового поля. Объект TextFormat включает в себя информацию по форматированию как отдельных символов текста, так и абзацев. Информация по форматированию символов текста содержит описание того, как будут выглядеть отдельные символы, а именно: шрифт, размер, цвет и связанный с ними URL. Информация по форматированию абзацев описывает внешний вид абзацев: левое поле, правое поле, отступ первой строки и выравнивание.

Сперва необходимо создать новый объект TextFormat. Затем можно воспользоваться методами объекта TextField и передать их в качестве параметров объекту TextFormat, чтобы форматировать текст в текстовом поле.

Для каждого символа текстового поля можно определить отдельный объект TextFormat. Объект TextFormat, определённый для первого символа абзаца, определяет абзацное форматирование для всего абзаца.

Чтобы динамически форматировать текст:

  1. Выберите Window (Окно) > Actions (Действия), чтобы открыть панель Actions, если она ещё не открыта.
  2. Сделайте что-либо из нижеперечисленного, чтобы создать текстовое поле:
    • Выберите инструмент Text и очертите текстовое поле. В панели Properties (Свойства) задайте имя экземпляра текстового поля (instance name).
    • В данном примере введите имя экземпляра myText.
    • Воспользуйтесь методом createTextField объекта MovieClip. См. параграф Динамическое создание и удаление текстовых полей. В данном примере введите имя экземпляра myText как параметр метода createTextField.
  3. Чтобы разместить текст в текстовом поле, сделайте что-нибудь из следующего:
    • Введите текст в текстовое поле на рабочей сцене.
    • Установите свойство text объекта TextField. См. параграф Динамическое создание и удаление текстовых полей.
  4. В панели инструментов Actions последовательно выберите категории: Objects, затем Movie, TextFormat, а затем дважды щёлкните на методе new TextFormat. В поле Object введите myformat. В окошке Script отобразится следующий код: myformat = new TextFormat();
  5. В панели инструментов Actions последовательно выберите категории: Objects, затем Movie, TextFormat, Properties, а затем дважды щёлкните на свойстве color. Повторите эту процедуру для свойств bullet и underline. В окошке Script отобразится следующий код:myformat.color = 0xff0000;
    myformat.bullet = true;
    myformat.underline = true;
  6. В панели инструментов Actions последовательно выберите категории: Objects, затем Movie, TextField, Method, затем дважды щёлкните на методе setTextFormat. В поле Object введите myText.
  7. В поле Object введите имя объекта TextFormat, созданного на шаге 4, myformat. В окошке Script отобразится следующий код: mytext.setTextFormat(myformat);

За полным списком методов объекта TextFormat и их подробным описанием обращайтесь к разделу Объект TextFormat.

top

Использование в тексте элементов оформления HTML

Flash позволяет использовать в динамических текстовых полях и полях ввода элементы оформления HTML. Если включить опцию Render text as HTML formatting (Применить к тексту HTML-форматирование) в панели Properties (Свойства) или установить свойство html объекта TextField в состояние true, то Flash при публиковании файла сохранит форматирование текста (такое как шрифт, стиль, цвет и размер) и гиперссылки в текстовом поле, используя соответствующие тэги HTML. Чтобы применить HTML-тэги к текстовым полям, необходимо воспользоваться ActionScript: либо ввести их как часть значения переменной текстового поля, либо как значение свойства htmlText объекта TextField.

В текстовых полях можно пользоваться следующими тэгами HTML: <A>, <B>, <FONT COLOR>, <FONT FACE>, <FONT SIZE>, <I>, <P> и <U>.

Также поддерживаются следующие аттрибуты оформления HTML: LEFTMARGIN, RIGHTMARGIN, ALIGN, INDENT и LEADING.

Чтобы воспользоваться переменной текстового поля для применения форматирования HTML:

  1. Выберите текстовое поле на сцене.
  2. В панели Properties (Свойства) назначьте текстовому полю имя переменной.
  3. Сделайте что-либо из следующего:
    • Включите кнопку HTML в панели Properties (Свойства).
    • В панели Actions установите свойство html объекта TextField в состояние true.
  4. Присвойте переменной текстового поля текст, содержащий тэги HTML.

    Например, нижеприведённый код присваивает текстовому полю с переменной, названной txt, текст. Этот текст будет отображен полужирным, если включена опция Render text as HTML в панели Properties (Свойства) или если свойство html установлено в положение true:

    txt = "<B>Chris</B>";

    В следующем примере переменная текстового поля также названа txt. Поскольку свойству html объекта TextField присвоено значение true, то можно передать этой переменной полужирный текст без включения кнопки Render Text as HTML в панели Properties (Свойства):

    instName.html = true;
    txt = "<B>Chris</B>";

Чтобы воспользоваться HTML-форматированием текста с помощью имени экземпляра его текстового поля:

  1. Сделайте что-нибудь из следующего:
    • Выберите инструмент Text и обозначьте текстовое поле. В панели свойств задайте имя экземпляра текстового поля (instance name).
    • Воспользуйтесь ActionScript, чтобы динамически создать текстовое поле с помощью метода createTextField. Присвойте текстовому полю имя экземпляра, задав его как параметр метода createTextField.
  2. Сделайте что-либо из следующего:
    • Включите кнопку Render text as HTML в панели Properties (Свойства).
    • В панели Actions (Действия) присвойте свойству html объекта TextField значение true, как в следующем примере:instanceName.html = true;
  3. В панели Actions присвойте свойству htmlText в качестве значения текст, содержащий тэги HTML.

    Например, для динамического текстового поля с именем экземпляра instName с помощью следующего кода можно получить полужирный текст:

    instName.htmlText = "<B>Chris</B>";

top

Использование событий текстовых полей для запуска скриптов

С помощью ActionSript можно отслеживать события, происходящие с текстовыми полями. Например, можно отследить, когда пользователь изменил или прокрутил текст. Можно записать такую последовательность команд ActionScript, которая будет при возникновении этих событий запускать скрипты.

Для текстового поля можно отслеживать следующие события: onChanged и onScroller.

Чтобы воспользоваться событием текстового поля для запуска скрипта:

  1. Сделайте что-либо из следующего:
    • Выберите инструмент Text и создайте текстовое поле. В панели Properties (Свойства) задайте имя экземпляра текстового поля (instance name).
    • Воспользуйтесь ActionScript, чтобы динамически создать текстовое поле с помощью метода createTextField. Присвойте текстовому полю имя экземпляра, задав его как параметр метода createTextField.
  2. В панели Actions (Действия) последовательно выберите следующие категории в панели инструментов Actions: Objects, Movie, TextField, Events, а затем дважды щёлкните на нужном событии. В данном примере выберите метод onChanged.
  3. В поле Object введите имя экземпляра текстового поля из шага 1.
  4. Добавьте в функцию какие-нибудь команды ActionScript. Они будут выполняться при изменении текстового поля.

За дополнительной информацией по событиям объекта TextField обращайтесь к описанию объекта TextField в ActionScript Dictionary в меню Help.

top

Продолжение следует...


Источник: http://www.vmstudio.com/

Спонсор раздела

Рассылки Subscribe.ru:

Библиотека сайтостроительства - новости, статьи, обзоры
Дискуссионный лист для web-разработчиков
Подписка на MailList.Ru
Автор: NunDesign
Другие разделы
Оптимизация сайтов
Web-студии
» Новое в разделе
Web-дизайн
Web-программирование
Интернет-реклама
Раскрутка сайта
Web-графика
Flash
Adobe Photoshop
Рассылка
Инструменты вебмастера
Контент для сайта
HTML/DHTML
Управление web-проектами
CSS
I2R-Журналы
I2R Business
I2R Web Creation
I2R Computer
рассылки библиотеки +
И2Р Программы
Всё о Windows
Программирование
Софт
Мир Linux
Галерея Попова
Каталог I2R
Партнеры
Amicus Studio
NunDesign
Горящие путевки, идеи путешествийMegaTIS.Ru

2000-2008 г.   
Все авторские права соблюдены.
Rambler's Top100