Самоучитель по Macromedia Flash MX Professional 2004




Меню
Работа с объектами
Создание анимации
Работа со слоями
Флэш-символы
Образцы
Тестирование
 
Работа с объектами  Текстовые поля
Назад || Далее

6. Текстовые поля

6.1. Обычный текст и его свойства

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

Поэтому, если, к примеру, создается веб-сайт, насыщенный текстовой информацией, лучше не стремиться "запихнуть" весь текст внутрь ролика. Попытайтесь применить для этого стандартные средства (например, HTML). Во многих случаях с помощью позиционирования удается расположить текст так, что он кажется находящимся внутри ролика, хотя на самом деле это не так. В некоторых случаях помогает разделение ролика на несколько отдельных сцен с помещением отформатированного текста между ними. Как правило, такое - "разделение" удается провести совершенно безболезненно.

Однако бывают случаи, когда текст все-таки удобнее поместить внутрь ролика. Как правило, этот прием применяют при небольшом объеме текста, а также в случае его динамического изменения или наличия специальных эффектов (например, анимации букв).

Текстовые поля

Давайте посмотрим, какие средства предлагает программа Flash для размещения текста внутри ролика. Для этого используются так называемые текстовые поля, которые бывают трех типов: статические, динамические и поля ввода.

Текстовое поле представляет собой прямоугольную область, в которой может находиться какой-либо текст. Эти поля существуют как обособленные объекты, редактирование текста внутри которых происходит на манер обычных текстовых редакторов.

Чтобы создать текстовое поле, выберите инструмент Text (Текст), щелкнув на соответствующем значке панели инструментов или просто нажав клавишу Т. Вид указателя мыши изменится на перекрестие с небольшой буквой А сбоку. Теперь щелчок в любом месте рабочей области создаст текстовое поле.

В текстовое поле можно ввести любой текст (рис. 2.89). Для того, чтобы выбрать начертание и размер шрифта, служит панель Character (Оформление текста) (рис. 2.90).


Рис. 2.89. Текстовое поле


Рис. 2.90. Вспомогательная панель для настройки шрифта

Весьма удобно, что при наведении указателя мыши на название шрифта можно сразу увидеть, как в этом шрифте выглядит начало выделенного текста. Размер шрифта можно задавать с помощью движка (рис. 2.91) или просто с клавиатуры.


Рис. 2.91. Числовые настройки легко меняются с помощью движка

Если после выделения части текста нажать комбинацию клавиш CTRL+ALT+ВПРАВО, то расстояние между буквами увеличится, а если CTRL+ALT+ВЛЕВО - уменьшится. На панели Character (Оформление текста) также имеется поле Tracking (Трекинг), в которое можно ввести числовое значение дополнительного расстояния между буквами. Кроме того, на панели Character (Оформление текста) расположены кнопки, которые позволяют сделать выделенный текст полужирным или курсивным, а также изменить его цвет. Раскрывающийся список Character position (Положение символов) позволяет выбрать режим верхнего или нижнего индекса.

Кроме всего перечисленного, на панели Character (Оформление текста) имеется флажок Kern (С кернингом), который должен включать режим автоматического кернинга. Результат этого показан на рис. 2.92: сверху приведен образец текста без кернинга, а внизу - с кернингом. Особенно хорошо это заметно на стыке букв "T" и "e".


Рис. 2.92. Применение кернинга

К сожалению, автоматический кернинг работоспособен далеко не на всех шрифтах и никогда не работает на кириллице. Кстати, вполне может случиться, что на одном из двух родственных шрифтов этот режим работает, а на другом - нет (например, таковы шрифты Times New Roman и Times New Roman Cyr).

Теперь несколько слов о выделении текста. Внутри текстового поля можно выделить произвольный текстовый фрагмент обычным для текстовых редакторов способом (протягивание мыши при нажатой левой кнопке). Кроме того, двойной щелчок выделяет слово, а сочетание CTRL+A - весь абзац.

Но это еще далеко не все возможности форматирования текста и программе Flash. Для форматирования абзацев предназначена вспомогательная панель Paragraph (Абзац) (рис. 2.93). На ней расположены четыре стандартные кнопки для управления выравниванием текста (по левому краю, по правому краю, по центру и по ширине), а также четыре поля, в которых можно устанавливать величину левого и правого поля, величину абзацного отступа и интерлиньяж.


Рис. 2.93. Вспомогательная панель для форматирования абзацев

Все сказанное выше в равной степени относятся к любому типу текстовых полей. Как уже было сказано выше, в программе Flash этих типов три. Рассмотрим их по порядку.

Виды текстовых полей

Статическое текстовое поле предназначается для отображения статического текста. Этот текст не может изменяться. Его можно только выделять его для копирования в буфер обмена. Правда и это возможно только в том случае, если на вспомогательной панели Text Options (Параметры текста) установлен флажок Selectable (Выбираемый).

Необходимо отметить, что в программе Flash текстовые поля могут иметь фиксированную ширину или быть расширяемыми. Расширяемое поле автоматически меняет свою ширину в зависимости от содержимого, а поле фиксированной ширины - нет. При создании текстового поля щелчком мыши оно изначально оказывается расширяемым. Если же "потянуть" мышью за его манипулятор, чтобы вручную расширить или сузить, поле приобретает фиксированную ширину.

Определить, имеет ли то или иное текстовое поле фиксированную ширину, легко. Текстовые поля фиксированной ширины имеют квадратный манипулятор, а расширяемые - круглый. У статических полей этот манипулятор расположен в правом верхнем углу, а у остальных - в правом нижнем. Чтобы поле фиксированной ширины сделать расширяемым, достаточно просто дважды щелкнуть на его манипуляторе.

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

Однако следует иметь в виду, что если в ролике используются наклоненные и вертикальные текстовые поля, то в файл ролика необходимо включить контуры шрифтов. Для этого следует нажать одну из кнопок Embed Fonts (Внедрить шрифты) на вспомогательной панели Text Options (Параметры текста), иначе наклонные текстовые поля вообще не отобразятся, как будто их нет.

Казалось бы, в этом нет ничего страшного. Действительно, нет, кроме того, что резко увеличивается размер файла ролика, что для загрузки через Интернет играет не последнюю роль.

Вы, вероятно, уже заметили, что на панели Character (Оформление текста) расположено еще одно поле, которое мы до сих пор не рассмотрели, а именно поле URL. Если в это поле ввести какой-либо адрес URL (сетевой адрес файла), то текстовый блок будет работать как гиперссылка: если пользователь щелкнет на нем, то браузер загрузит соответствующий ресурс.

6.2. Динамические текстовые поля

Динамические текстовые поля также отображают текст, но этот текст может изменяться по ходу проигрывания ролика. Чтобы превратить текстовое поле в динамическое, следует выбрать пункт Dynamic Text (Дикамический текст) в раскрывающемся списке панели Text options (Параметры текста) (рис. 2.94).


Рис. 2.94. Вспомогательная панель для установки типа текстового поля и его настройки

Программное изменение динамических полей

Как видите, в этом режиме на панели появилось поле Variable (Переменная). Если туда ничего не ввести, то динамический режим текстового поля не будет иметь почти никакого смысла. В поле Variable (Переменная) нужно указать имя переменной, которая соответствует содержимому этого текстового поля. Например, напишем в текстовом поле слово Текст, сделаем это поле динамическим и введем в поле Variable (Переменная) значение mytext. Теперь, если в какой-то момент присвоить этой переменной другое значение, например, написать

mytext="Слово";

то содержимое текстового поля изменится, то есть вместо надписи Текст там появится надпись Слово! Таким образом можно организовать что-то вроде собственной строки состояния или динамической подсказки, поместить в ролик электронные часы и многое другое. Так как вы еще не знакомы с внутренним языком сценариев Flash (обычно его называют ActionScript), могут возникнуть естественные вопросы: где писать приведенный выше код, какие вообще бывают переменные, что с ними делать...

Настройка динамических полей

Помимо возможности изменения содержимого, динамические текстовые поля обладают еще рядом особенностей. Во-первых, их можно сделать однострочными или многострочными, выбрав из раскрывающегося списка на панели Text Options (Параметры текста) пункт Single Line (Одна строка) или Multiline (Многострочное) соответственно. Для многострочных полей доступен флажок Word Wrap (Перенос по словам), включив который, можно "приказать" программе автоматически переносить ниже не помещающиеся в одну строку слова.

Во-вторых, вокруг динамических полей можно прорисовать рамку, обозначающую их границу. Рамка включается с помощью переключателя Border/Bg (Граница/фон) на той же самой панели Text Options (Параметры текста).

Однако самое интересное, что в динамические текстовые поля можно включать теги HTML для форматирования текста. Чтобы проигрыватель Flash правильно распознал их, нужно установить на вспомогательной панели Text Options (Параметры текста) флажок HTML.

6.3. Текстовые поля для ввода

Третий тип текстовых полей, существующих в роликах Flash, это поля для ввода. Они предназначаются не только и не столько для отображения какой-либо информации, сколько для ввода этой информации пользователем.

Чтобы превратить текстовое поле в поле ввода, выберите в раскрывающемся списке на панели Text Options (Параметры текста) пункт Input Text (Ввод текста). Теперь пользователь сможет ввести в это поле какой-нибудь текст, и все, что он ввел, присваивается соответствующей переменной. Обычно после этого имеет смысл отправить введенную информацию на сервер для обработки сценарием CGI. Для этого можно предусмотреть в ролике специальную кнопку (о кнопках речь пойдет в главе 4 и последующих) или просто отследить нажатие на клавишу ENTER.

Собственно говоря, в остальном поля ввода имеют те же особенности, что и динамические поля. Вы точно так же можете динамически менять их содержимое, рисовать вокруг них рамку, а также использовать некоторые теги HTML. Кстати, в большинстве случаев создание рамки действительно целесообразно, так как если поместить на страницу пустое поле ввода без рамки, то пользователь просто не догадается, куда щелкнуть мышью, чтобы ввести данные.

Настройка полей ввода

Упомянем еще две особенности полей ввода. Во-первых, можно ограничить максимальное число символов, вводимых в поле. Это ограничение задается полем Мах Chars (Всего символов) на панели Text Options (Параметры текста). Если значение этого поля установлено в 0, количество вводимых символов не ограничивается (разумеется, на практике какое-то ограничение все же существует, но допустимое число символов очень велико).

Наконец, при выборе режима Input Text (Ввод текста) во втором раскрывающемся списке на панели Text Options (Параметры текста) появляется еще один пункт - Password (Пароль). Если выбрать этот пункт, то в поле ввода каждый символ отображается в виде звездочки, как это принято в большинстве систем для ввода пароля. Разумеется, не следует из этого делать вывод, что программа Flash предназначена для работы с конфиденциальной информацией. Нет, никакой защиты там нет, и все данные хранятся в открытом виде. Так что звездочки в поле пароля - это только традиционная защита от "подсматривания" паролей на экране.

Ну, а если захочется сделать с текстом что-нибудь особенное, например, анимировать его, заставляя постепенно проявляться или же плавно превращать одно слово в другое, то, скорее всего, текст придется преобразовать в обычные графические объекты - Modify Break Apart (Изменить Разделить) или клавиши CTRL+B - и далее уже работать с ним, как с контурами и заливками (правда, в этом случае редактировать текст обычным образом уже не удастся). Кстати, как раз об анимации и пойдет рассказ в следующей главе.

Назад || Далее
Hosted by uCoz