Урок 5. Создадим открытку ко Дню Рождения (Часть вторая)

Разница между неудачей и успехом заключается в том, чтобы делать что-то «почти правильно» и «совершенно правильно».

Эдуард Симмонз

На прошлом уроке (см. «Мир ПК», № 3/05, с. 127) мы поговорили о личных открытках и начали разрабатывать канву для них ко Дню Рождения, а на нынешнем закончим поздравление и рассмотрим еще несколько интересных приемов анимации, производимых с помощью программы Macromedia Flash МХ 2004. На прилагаемом к журналу диске найдите и скопируйте в свой каталог файлы, необходимые для урока.

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

«Желаю, чтобы даже на необитаемом острове...». Эффект Матрицы

Итак, мы остановились на том, что надо бы добавить в открытку пожелание. Сейчас познакомимся с приемом, которому я дала название «Матрица» из-за сходства со знаменитыми кадрами одноименного фильма.

Принцип его состоит в следующем. В три колонки сверху вниз падают буквы и образуют текст поздравления: «желаю, чтобы даже» «на необитаемом острове» «ты не чувствовал себя» «одиноко». Но последний кусочек пожелания не войдет в рассматриваемый эффект, он появится другим образом. Особенность приема состоит в том, что буквы в колонке выпадают из одной — самой верхней. Откройте мой файл Happy_B.fla, чтобы посмотреть, какова она, «матрица». А теперь давайте разбираться, как же ее построить.

  1. В новом муви-символе matrix напишем первую колонку текста: «Желаю, чтобы даже». Чтобы буквы слов послушно выстроились в колонку, нужно внизу на панели Properties (Свойства) текста найти значок Change orientation of text (Изменить направление текста). Выберите из ниспадающего меню строку Vertical, Left to Right (По вертикали, слева направо) и напишите указанное выше словосочетание.
  2. Немного увеличьте расстояние между буквами, указав в ячейке рядом со значком Character spacing (Межсимвольный промежуток) значение 2.
  3. Теперь нажмите клавишу , чтобы создать новый ключевой кадр через 13 фреймов. Дважды воспользовавшись комбинацией клавиш +B, преобразуйте текст в заливку.
  4. Перейдите к первому ключевому кадру и нажмите один раз комбинацию клавиш +B — тем самым вы разобьете слова на отдельные буквы. Если все сделано правильно, то вокруг каждой буквы появится голубая рамка.
  5. Все буквы первого ключевого кадра должны быть выделены. Вызовите нажатием клавиш + K панель Align (Выровнять) и выберите на ней значок Align top edge (Выровнять по верхнему краю). После этого действия все буквы должны собраться вместе, налепившись на самую верхнюю. Проследите, чтобы в это время не был активен значок To Stage (По сцене).

Запускаем матрицу

По окончании подготовительной работы приступим к движению. Для реализации эффекта Матрицы примените анимацию формы Shape Tween, с которой мы уже встречались раньше (см. «Мир ПК», № 2/05, с. 108).

  1. На панели Properties (Свойства) в поле Tween установите тип анимации Shape Tween. Проиграйте символ и убедитесь, что буквенная матрешка действительно рассыпается и символы выстраиваются в столбик.

Внимание! Учтите, пожалуйста, следующее.

  • Если воспользоваться анимацией формы Shape Tween на текстовых объектах, не преобразовав их прежде в заливку, то ничего не получится, так как данный вид анимации работает только с разгруппированными объектами типа Fill (Заливка).
  • Также ничего не выйдет, если с самого начала на первом кадре преобразовать буквы в заливку, а затем выровнять их — они просто-напросто «слипнутся» и «не поймут», как им дальше разворачиваться.
Рис. 1. Timeline (Монтажный стол) символа matrix
  1. Пока получился только первый столбик матрицы. Проделайте аналогичную работу для двух других: «на необитаемом острове» и «ты не чувствовал себя». В итоге у вас должно получиться три столбца, образующих текст пожелания.
  2. Теперь, руководствуясь рис. 1, создайте анимацию движения Motion Tween. В отличие от Shape Tween, анимация Motion Tween не работает с разделенными объектами. Следовательно, чтобы произвести данное движение, необходимо сгруппировать буквы каждого из трех словосочетаний. Для этого после второй ключевой точки движения Shape Tween нажмите , чтобы создать новый ключевой кадр. Выделите содержимое фрейма и нажмите комбинацию клавиш +G или воспользуйтесь меню Modify? Group (Изменить?Сгруппировать). Теперь путь к созданию движения Motion Tween открыт.

В общем, логика такова. Сначала мы работаем с первым столбиком — «желаю, чтобы даже», который появляется с помощью анимации Shape Tween. Затем он, как Motion Tween, «сползает» в самый низ, уходя за пределы сцены, и тут же на следующем ключевом кадре появляется над сценой и спускается так, чтобы его можно было прочитать. Два других столбика подчиняются той же логике, только с запаздыванием.

В конечном счете все три столбика выстраиваются и образуют текст пожелания. Убрать их помогает прием «штора» (см. «Мир ПК», № 3/05, с.127). Все это показано на рис. 1.

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

Внимание! Данный эффект потребует несколько больших ресурсов компьютера, чем наши предыдущие упражнения. Так что если вы не уверены в пропускной способности сети вашего абонента и быстродействии его машины, можете упростить эффект и не использовать анимацию формы Shape Tween, а ограничиться лишь анимацией движения Motion Tween. Учтите, что движение Shape Tween довольно «ресурсоемкое», и значит, при его применении всегда строго контролируйте объем файла на выходе.

Рис. 2. Строим свою матрицу

Можете попробовать тот же эффект в новом клипе, вставив несколько символов matrix на сцену и сделав буквы салатного цвета, а фон — черного. Вы увидите, насколько изображение будет походить на кадр известного фильма (рис. 2) .

«Одиноко». Прием «шире — уже»

На примере этого остатка пожелания рассмотрим прием «шире — уже», который также связан с изменением формы объекта. На прошлых уроках мы постоянно занимались движением типа Motion Tween, тогда как анимация формы Shape Tween была незаслуженно забыта. Теперь восполним этот пробел. Цель упражнения состоит в плавном сужении и расширении отдельных букв слова. Проделайте, пожалуйста, следующее.

  1. В новом муви-символе lonely напишите слово «одиноко».
  2. В поле Character spacing (Межсимвольный промежуток) вместо нуля укажите цифру 10, чтобы увеличить межбуквенное расстояние. Это позволит потом безнаказанно утолщать буквы, не боясь того, что они станут налезать друг на друга.
  3. Нажмите дважды +B, разбив текст и преобразовав его в заливку. Создайте еще два ключевых кадра с промежутком в 35 фреймов. Итак, на первом и последнем кадрах буквы будут сужены — изящны и грациозны, а на втором, ключевом, мы их немного «подкормим», прибавив несколько пикселов в ширину.
  4. Вернитесь к первому кадру и найдите в меню Modify?Shape (Изменить? Форма) пункт Expand Fill (Расширить заливку). В диалоговом окне настройки параметров, появившемся в ответ на щелчок мыши (рис. 3), установите следующие значения, чтобы заузить буквы:
    • Distance (Расстояние) — указывает, сколько пикселов отнимется или прибавится (в зависимости от алгоритма) к начальной толщине объекта. Задайте значение, равное 1 пикселу. Конечно, вы можете попробовать и большие числа, но от этого слово порой деформируется.
    • Direction (Направление) — позволяет выбрать один из двух алгоритмов: Expand Fill (Расширить заливку) или Inset Fill (Сузить заливку). Чтобы сделать буквы изящнее, включите функцию во втором алгоритме.
Рис. 3. Настройка диалогового окна Expand Fill (Расширить заливку)

Точно такие же настройки будет иметь и последний кадр символа lonely. Можете скопировать в буфер первый кадр и вставить его в требуемом месте. Теперь давайте отредактируем второй ключевой кадр — задайте Distance (Расстояние) равным 4 пикселам и выберите алгоритм Expand Fill (Расширить заливку).

На рис. 4 показано, как изменяется форма букв от тонких (первый ключевой кадр) к толстым (второй ключевой кадр).

Рис. 4. Плавное изменение формы букв

«Пусть все будет хорошо». В шатком мире теней

Сейчас мы рассмотрим еще один прием работы с текстом. От запланированного сценария осталось нереализованным всего одно пожелание: «Пусть все будет хорошо». Этот прием позволяет получить расплывчатые контуры-тени текста и экспериментировать со смещениями букв.

Рис. 5. Настройка диалогового окна Soften Fill Edges (Смягчить края заливки)

На новом слое создайте текст «Пусть все будет хорошо», преобразованный в заливку. Затем выделите содержимое слоя и воспользуйтесь пунктом меню Modify?Shape?Soften Fill Edges (Изменить?Форма?Смягчить края заливки). В появившемся диалоговом окне настройки параметров установите следующее (рис. 5):

  • Distance (Расстояние) — служит для задания «ширины» смещения (увеличения или уменьшения) текста. Отступ между копиями рисунка установите равным 2 пикселам.
  • Number of steps (Количество шагов) — именно это число отвечает на вопрос, сколько копий объекта нужно использовать для достижения эффекта. Нажмите цифру 3, указав тем самым число преобразований. Имейте в виду, что чем оно больше, тем более громоздким и объемным получится файл. Поэтому будьте осторожны при экспериментах с большими значениями данного параметра.
  • Direction (Направление) — существует два алгоритма смягчения границ: смягчение «наружу» Expand (Расширить) и смягчение «внутрь» Inset (Сузить). Включите функцию Expand (Расширить), определив алгоритм для смягчения заливки.
Рис. 6. Применение эффекта Soften Fill Edges (Смягчить края заливки)

Оживляем текст. Возвращаемся к буквам. Увеличьте масштаб и рассмотрите в деталях, как работает алгоритм «смягчения» (рис. 6, нижняя часть). После того как вы вдоволь налюбовались произведенным эффектом, щелкните мышью на внутренних элементах некоторых букв и удалите их. Сделайте текст повеселее, чтобы он соответствовал смыслу и оптимистичному содержанию поздравления. Экспериментируйте: красьте буквы в разные, но обязательно сочетающиеся между собой цвета, смещайте внутренности букв, пробуйте добавлять обводку. В общем, почувствуйте себя хозяином пожелания (рис. 6, верхняя часть).

Игровой момент. Неожиданное появление

Теперь, когда мы до конца разобрались с составляющими основного действия, будем считать, что вы сами определите место лирического героя в клипе. У меня он(а) появляется тогда, когда идет надпись «Милый Мишка... с мыслями о тебе» (см. «Мир ПК», №3/05, с.127). Как и в какой последовательности будет возникать то или иное пожелание, также решайте сами. Единственное, что нам осталось сделать, так это привнести какой-нибудь интересный игровой момент. Например, пусть при подведении мыши к слову «одиноко» рядом с медведем снова появится лирическая героиня.

Рис. 7. Сюрприз при подведении мыши к слову «одиноко»

Это делается достаточно просто. На основе «одиноко» нажатием клавиши создается символ типа Button (Кнопка), где в состоянии Over (Над) делается еще один слой, куда и вставляется лирическая героиня рядом с медведем (рис. 7).

Тестирование в режиме Bandwidth Profiler

Рис. 8. Режим Bandwidth Profiler (Профиль полосы)

Теперь давайте научимся осмысленно тестировать клип. Для этого в Macromedia Flash предусмотрен режим Bandwidth Profiler (Профиль полосы) (рис. 8). Советую вам всегда тестировать ролики в данном режиме, так как с его помощью исключительно удобно отслеживать процесс загрузки клипа. Чтобы активизировать Bandwidth Profiler (Профиль полосы), необходимо войти в режим тестирования, нажав +, а затем выбрать в меню View (Вид) опцию Bandwidth Profiler (Профиль полосы). После этого действия в верхней части окна появляется график, на котором показано, сколько данных передается каждому кадру клипа при определенной скорости загрузки. Скорость можно изменять с помощью меню View?Download Settings (Вид?Настройки загрузки). Обратите внимание на левую часть Bandwidth Profiler (Профиль полосы), где показаны ключевые характеристики созданного вами клипа. Рассмотрим их подробнее.

  • Movie (Клип) — отображаются основные параметры клипа:
  • Dim (Размер) — указываются параметры высоты и ширины документа.
  • Fr Rate (Частота кадров) — выводится информация о том, сколько кадров проигрывается за 1 с.
  • Size (Размер) — показывает размер результирующего swf-файла, т.е. вам совсем необязательно на промежуточных стадиях работы сохранять swf-файл, чтобы отслеживать его объем. У меня получился клип размером 74 Кбайт. Согласитесь, он совсем небольшой.
  • Duration (Длительность) — указывается длительность клипа в кадрах и в секундах. Также удобная опция, поскольку не всегда хочется результирующее число фреймов делить на 12 (стандартное количество кадров в секунду), чтобы узнать, сколько времени будет продолжаться клип. Время проигрыша открытки составляет чуть более 30 с. Для баннера или заставки сайта это непозволительная роскошь, но для личного поздравления в самый раз.
  • Preload (Предзагрузка) — определяется время загрузки клипа. Для нашей открытки оно составляет менее 1 с. Весь фокус в минимизации времени состоит в том, как у вас распределяются ресурсы. Например, если бы длительность клипа была мала, а вы загружали бы тяжелые символы с анимацией формы типа «матрицы» или растровыми рисунками, то время предзагрузки ощутимо увеличилось бы.
  • Settings (Настройки) — показывает, при какой скорости выполняется проигрыш клипа. Как я уже говорила, этот параметр можно изменять.
  • State (Состояние) — отражает состояние текущего кадра: номер и объем данных, которые передаются на данном фрейме. Старайтесь избегать таких ситуаций, при которых величина загрузки на одном кадре превышает 8 Кбайт, если не хотите, чтобы на слабеньких компьютерах клип притормаживал. В моем клипе максимальный объем передается только на первом кадре — 4 Кбайт. Далее он благополучно распределяется между соседними и не превышает 400 байт.

* * *

На этом наша работа закончена — поздравительная открытка готова. В ходе урока вы познакомились с Flash-эффектами, применимыми к тексту, потренировались с анимацией Shape Tween, узнали, что скрывается в меню Shape (Форма), изучили возможности тестирования в Bandwidth Profiler (Профиль полосы). А самое главное, теперь у вас есть чем порадовать ваших друзей на День Рождения.

Ксения Слепченко — менеджер и дизайнер Координационного центра программы ECDL на Украине (Европейский стандарт компьютерной грамотности), e-mail: ksenijas@yandex.ru.