1.10. Текстовые поля
Обычный текст и его свойства
В этом разделе речь пойдет о том, как разместить в ролике текстовую информацию. Однако в самом начале надо сказать, что, вообще говоря, программа Flash не предназначена для использования больших объемов текста - наличие огромного количества кривых в шрифтах может неоправданно увеличить размер получающегося файла ролика.
Поэтому, если, к примеру, создается веб-сайт, насыщенный текстовой информацией, лучше не стремиться "запихнуть" весь текст внутрь ролика. Попытайтесь применить для этого стандартные свойства (например, HTML). Во многих случаях с помощью позиционирования удается расположить текст так, что он кажется находящимся внутри ролика, хотя на самом деле это не так. В некоторых случаях помогает разделение ролика на несколько отдельных сцен с помещением отформатированного текста между ними. Как правило, такое «разделение» удается провести совершенно безболезненно.
Однако бывают случаи, когда текст все-таки удобнее поместить внутрь ролика. Как правило, этот прием применяют при небольшом объеме текста, а также в случае его динамического изменения или наличия специальных эффектов (например, анимации букв).
Текстовые поля
Давайте посмотрим, какие средства предлагает программа Flash для размещения текста внутри ролика. Для
этого используются так называемые текстовые поля, которые бывают трех типов: статические, динамические
и поля ввода.
Текстовое поле представляет собой прямоугольную область, в которой может находиться какой-либо текст. Эти поля существуют как обособленные объекты, редактирование текста внутри которых происходит на манер обычных текстовых редакторов.
Чтобы создать текстовое поле, выберите инструмент Text (Текст), щелкнув на соответствующем значке панели инструментов или просто нажав клавишу T. Вид указателя мыши изменится на перекрестие с небольшой буквой А сбоку. Теперь щелчок в любом месте рабочей области создает текстовое поле. В текстовое поле можно ввести любой текст. Для того, чтобы выбрать начертание и размер шрифта, служит панель Character (Оформление текста) (рис. 1.33). Весьма удобно, что при наведении указателя мыши на название шрифта можно сразу увидеть, как в этом шрифте выглядит начало выделенного текста. Размер шрифта можно задавать с помощью движка или просто с клавиатуры.
Если после выделения части текста нажать комбинацию клавиш CTRL+ALT+ВПРАВО, то расстояние между буквами увеличится, а если CTRL+ALT+ВЛЕВО - уменьшится. На панели Character (Оформление текста) также имеется поле Tracking (Трекинг), в которое можно ввести числовое значение дополнительного расстояния между буквами. Кроме того, на панели Character (Оформление текста) расположены кнопки, которые позволяют сделать выделенный текст полужирным или курсивным, а также изменить его цвет. Раскрывающийся список Character position (Положение символов) позволяет выбрать режим верхнего или нижнего индекса.
Кроме всего перечисленного, на панели Character (Оформление текста) имеется флажок Kern (С кернингом), который должен включать режим автоматического кернинга. К сожалению, автоматический кернинг работоспособен далеко не на всех шрифтах и никогда не работает на кириллице. Кстати, вполне может случиться, что на одном из двух родственных шрифтов этот режим работает, а на другом - нет (например, таковы шрифты Times New Roman и Times New Roman Cyr).
Теперь несколько слов о выделении текста. Внутри текстового поля можно выделить произвольный текстовый фрагмент обычным для текстовых редакторов способом (протягивание мыши при нажатой левой кнопке). Кроме того, двойной щелчок выделяет слово, а сочетание CTRL+A - весь абзац.
Но это еще далеко не все возможности форматирования текста в программе Flash. Для форматирования абзацев предназначена вспомогательная панель Paragraph (Абзац) (рис. 1.34). На ней расположены четыре стандартные кнопки управления выравниванием текста (по левому краю, по правому краю, центру и по ширине), а также четыре поля, в которых можно устанавливать величину левого и правого поля, величину абзацного отступа и интерлиньяж.
Все сказанное выше в равной степени относится к любому типу текстовых полей.Как уже было сказано выше, в программе Flash этих типов три. Расмотрим их по порядку.
Виды текстовых полей
Статическое текстовое поле предназначается для отображения статического текста. Этот текст не может
изменяться. Его можно только ыделять для копирования в буфер обмена. Правда и это возможно только в том
случае, если на вспомогательной панели Text Options (Параметры текста) установлен флажок Selectable
(Выбираемый).
Необходимо отметить, что в программе Flash текстовые поля могут иметь фиксированную ширину или быть расширяемыми. Расширяемое поле автоматически меняет свою ширину в зависимости от содержимого, а поле фиксированной ширины - нет. При создании текстового поля щелчком мыши оно изначально оказывается расширяемым. Если же «потянуть» мышью за его манипулятор, чтобы вручную расширить или сузить, поле приобретает фиксированную ширину.
Определить, имеет ли то или иное текстовое поле фиксированную ширину, легко. Текстовые поля фиксированной ширины имеют квадратный манипулятор, а расширяемые - круглый. У статических полей этот манипулятор расположен в правом верхнем углу, а у остальных - в правом нижнем. Чтобы поле фиксированной ширины сделать расширяемым, достаточно просто дважды щелкнуть на его манипуляторе.
Еще одним замечательным свойством текстовых полей является возможность их произвольного вращения и масштабирования. Таким образом текст нетрудно расположить и вертикально, и под любым углом наклона.
Однако следует иметь в виду, что если в ролике используются наклоненные и вертикальные текстовые поля, то в файл ролика необходимо включить контуры шрифтов. Для этого следует нажать одну из кнопок Embed Fonts (Внедрить шрифты) на вспомогательной панели Text Options (Параметры текста), иначе наклонные текстовые поля вообще не отобразятся, как будто их нет.
Казалось бы, в этом нет ничего страшного. Действительно, нет, кроме того, что резко увеличивается размер файла ролика, что для загрузки через Интернет играет не последнюю роль.
Вы, вероятно, уже заметили, что на панели Character (Оформление текста) расположено еще одно поле, которое мы до сих пор не рассмотрели, а именно поле URL. Если в это поле ввести какой-либо адрес URL (сетевой адрес файла), то текстовый блок будет работать как гиперссылка: если пользователь щелкнет на нем, то броузер загрузит соответствующий ресурс.
Динамические текстовые поля
Динамические текстовые поля также отображают текст, но этот текст может изменяться по ходу проигрывания
ролика. Чтобы превратить текстовое поле в динамическое, следует выбрать пункт Dynamic Text (Динамический
текст) в раскрывающемся списке панели Text options (Параметры текста) (рис. 1.35).
Программное изменение динамических полей
Как видите, в этом режиме на панели появилось поле Variable (Переменная). Если туда ничего не ввести, то
динамический режим текстового поля не будет иметь почти никакого смысла. В поле Variable (Переменная)
нужно указать имя переменной, которая соответствует содержимому этого текстового поля. Например, напишем
в текстовом поле слово Текст, сделаем это поле динамическим и введем в поле Variable (Переменная) значение
mytext. Tenepь, если в какой-то момент присвоить этой переменной другое значение, например,написать
mytext="Слово";
то содержимое текстового поля изменится, то есть вместо надписи Текст там появится Слово! Таким образом можно организовать чтщ-то вроде собственной строки состояния или динамической подсказки, поместить в ролик электронные часы и многое другое.
Настройка динамических полей
Помимо возможности изменения содержимого, динамические текстовые поля обладают еще рядом особенностей. Во-первых, их можно сделать однострочными или многострочными, выбрав из раскрывающегося списка на панели Text Options (Параметры текста) пункт Single Line (Одна строка) или Multiline (Многострочное) соответственно. Для многострочных полей доступен флажок Word Wrap (Перенос по словам), включив который, можно «приказать» программе автоматически переносить ниже не помещающиеся в одну строку слова.
Во-вторых, вокруг динамических полей можно прорисовать рамку, oбoзначающую их границу. Рамка включается с помощью переключателя Border/Bg (Граница/Фон) на той же самой панели Text Options (Параметры текста).
Однако самое интересное, что в динамические текстовые поля можно включать теги HTML для форматирования текста. Чтобы проигрыватель Flash правильно распознал их, нужно установить на вспомогательной панели Text Options (Параметры текста) флажок HTML.
Правда, указывать теги HTML непосредственно в текстовом поле все равно не имеет смысла, поскольку они отобразятся в ролике в своем исходном виде. Чтобы они распознавались правильно, нужно не писать текст с тегами непосредственно в поле, а присвоить соответствующее значение связанной с ним переменной.
Например, если создать пустое текстовое поле, определить его как динамическое, сопоставить ему имя переменной t1, а затем в первом кадре написать
t1 = "<В>Это</В> <I>текстовое</I>
<U>поле</U>, <FONT SIZE="-30">содержащее HTML-форматирование</FONT>>!";
то при просмотре или публикации ролика (например, по нажатию CTRL+ENTER) можно увидеть следующее:
Как видите, это вполне похоже на обычную разметку с помощью тегов HTML. Правда, пока что, к сожалению, использование здесь тегов HTML очень ограничено. Можно использовать только теги <А>, <В>, <I>, <U>, <P>, а также <FONT> с атрибутами FACE=, SIZE= и COLOR=. Но и это уже немало. Более того, использование тега <А> позволяет включать в текстовые поля самые настоящие гиперссылки, причем как гиперссылка действует уже не весь блок, как при использовании поля URL панели Character (Оформление текста), а только нужная часть текста. Автоматически, правда, эти гиперссылки не подчеркиваются и вообще не выделяются никак. Единственное, что их визуально отличает - указатель мыши при наведении превращается и «руку». Но их можно выделить вручную, например, с помощью тегов <U> и <FONT COLOR=>.
Еще необходимо заметить, что размер шрифта здесь устанавливается в пикселах, а не в традиционных для HTML «условных единицах». Этим и объясняется непривычное для глаза знатока HTML сочетание из данного примера.
Текстовые поля для ввода
Третий тип текстовых полей, существующих в роликах Flash, это поля для ввода. Они предназначаются не только и не столько для отображения какой-либо информации, сколько для ввода этой информации пользователем.
Чтобы превратить текстовое поле в поле ввода, выберите в раскрывающемся списке на панели Text Options (Параметры текста) пункт Input Text (Ввод текста). Теперь пользователь сможет ввести в это поле какой-нибудь текст, и все, что он ввел, присваивается соответствующей переменной. Обычно после этого имеет смысл отправить введенную информацию на сервер для oбработки сценарием CGI. Для этого можно предусмотреть в ролике специальную кнопку (о кнопках речь пойдет в главе 4 и последующих) или просто отследить нажатие на клавишу ENTER.
Собственно говоря, в остальном поля ввода имеют те же особенности, что и динамические поля. Вы точно так же можете динамически менять их содержимое, рисовать вокруг них рамку, а также использовать некоторые теги HTML. Кстати, в большинстве случаев создание рамки действительно целесообразно, так как если поместить на страницу пустое поле ввода без рамки, то пользователь просто не догадается, куда щелкнуть мышью, чтобы ввести данные.
Настройка полей ввода
Упомянем еще две особенности полей ввода. Во-первых, можно ограничить максимальное число символов,
вводимых в поле. Это ограничение задается полем Мах Chars (Всего символов) на панели Text Options
(Параметры текста). Если значение этого поля установлено в 0, количество вводимых символов не
ограничивается (разумеется, на практике какое-то ограничение все же существует, но допустимое число
символов очень велико).
Наконец, при выборе режима Input Text (Ввод текста) во втором раскрывающемся списке на панели Text Options (Параметры текста) появляется еще один пункт - Password (Пароль). Если выбрать этот пункт, то в поле ввода каждый символ отображается в виде звездочки, как это принято в большинстве систем для ввода пароля. Разумеется, не следует из этого делать вывод, что программа Flash предназначена для работы с конфиденциальной информацией. Нет, никакой защиты там нет, и все данные хранятся в открытом виде. Так что звездочки в поле пароля - это только традиционная защита от «подсматривания» паролей на экране.
Таким образом, программа Flash предоставляет некоторые возможности представления текстовых данных. Однако этими возможностями не стоит злоупотреблять. Применяйте текстовые поля только для небольших пояснительных или информационных надписей, или же в тех случаях, когда традиционными средствами представления текста в броузере обойтись нельзя или очень неудобно.
Ну, а если захочется сделать с текстом что-нибудь особенное, например, анимировать его, заставляя постепенно проявляться или же плавно превращаться одно слово в другое, то, скорее всего, текст придется преобразовать в обычные графические объекты - Modify/Break Apart (Изменить/Разделить) или клавиши CTRL+B - и далее уже работать с ним, как с контурами и заливками (правда, в этом случае редактировать текст обычным образом уже не удастся). Кстати, как раз об анимации и пойдет рассказ в следующей главе.