2.4. Работа со слоями
Как мы уже знаем из главы 2, при наложении графические объекты, как правило, изменяют друг друга, «разрезая» или стирая часть изображенения. Чтобы этого не происходило, можно, конечно, пользоваться группировкиой (сочетание CTRL+G) или создавать флэш-символы. Однако самый простой и удобный способ расположить в ролике множество независимых объектов - это использование слоев.
Дело в том, что изображение может состоять как бы из нескольких независимых частей. Традиционно, слои принято сравнивать с совокупностью изображений, нарисованных на прозрачной бумаге и наложенных друг на друга. При этом, разумеется, нижние слои просвечивают сквозь верхние листы, но в тех местах, где на верхних листах имеется изображение, оно закроет собой нижнее. Техника слоев применяется во многих популярных программах, в том числе в программе Adobe Photoshop.
В программе Flash подобное применение слоев также возможно, но больше всего слои помогают при создании анимации. Самый простой пример - небольшой движущийся предмет на неподвижном фоне. В отсутствие слоев программа должна в каждома кадре перерисовывать и движущийся предмет и фон, что приводит к неоправданному расходованию ресурсов. Возможно компьютер переставал бы успевать прорисовывать даже несложную анимацию, особенно если в качестве фона использовано растровое изображение. Если же неподвижное изображение помещено на отдельном слое, программе уже не надо перерисовывать его в каждом кадре. Нарисованное один раз, оно останется на экране, а перерисовывать понадобится только движущийся объект, находящийся на другом слое.
Кроме того, каждую промежуточную анимацию желательно также располагать в отдельном слое, иначе программа может немного запутаться, и результат будет непредсказуем. Особенно это относится к морфингу.
Отображение слоев
С помощью слоев можно достигать еще некоторых интересных эффектов. Но вначале разберемся, как в программе Flash организованна работа со слоями.
Взгляните еще раз на шкалу времени. В правой ее части расположены уже знакомые нам кадры. А вот в левой части как раз и приведен список слоев (рис. 2.14). Текущий слой, в котором осуществляется изменение изображения, выделен черным цветом и изображением карандаша. Заметьте, что в рабочей области все слои обычно одновременно доступны для редактирования, то есть, чтобы изменить какой-либо объект, нет необходимости спачала делать соответствующий слон текущим. Это произойдет автоматически при щелчке на объекте.
Для облегчения работы слоям можно давать любые имена (в том числе русские). По умолчанию слои имеют стандартные имена Layer 1, Layer 2 и так далее. Дважды щелкнув мышью на имени слоя, его можно изменить.
Слои накладываются друг на друга в том же порядке, в каком они расположены в списке на шкале времени. То есть, слой, расположенный в списке первым, является самым верхним. Изменять порядок слоев в списке можно, просто перетаскивая мышью их названия.
Основные операции со слоями
Чтобы создать новый слой, достаточно щелкнуть на кнопке REPLACE Layer (Вставить слой), находящейся непосредственно под списком слоев. Новый слой по умолчанию располагается над текущим. Чтобы удалить слой, выделите его и щелкните на кнопке Delete Layer (Удалить слой).
Обратите внимание, что справа от названия слоя в три столбца расположены условные знаки. Левый столбец (с изображением глаза) отвечает за просмотр слоя. Если щелкнуть на точке, находящейся в этом столбце, текущий слой станет невидимым (при этом вместо точки в колонке появится красный крестик). Щелчок мыши на изображении глаза над столбцом делает невидимыми все слои одновременно. Повторный щелчок делает все слои видимыми. В невидимый слой невозможно внести какие-либо изменения.
Если ролик содержит множество сложных объектов в разных слоях, часто полезно сделать некоторые из них невидимыми, чтобы поработать с другими слоями, не боясь случайно испортить уже «готовые» слои. Однако иногда необходимо, работая с одним слоем, видеть содержимое другого, но предотвратить опасность его случайного изменения.
Для таких случаев предназначен второй столбец, обозначенный сверху замочком. При щелчке на точке в этой колонке соответствующий слой «запирается». То есть, в него невозможно внести изменения, однако этот слой остается видимым. Щелчок мыши на замочке в заголовке столбца "запирает" (или, наоборот, «отпирает») все слои сразу.
И, наконец, третий столбец, обозначенный квадратиком, предназначен для вывода слоев в виде контуров. В этой колонке напротив имени каждого слоя может располагаться закрашенный или пустой квадрат. Закрашенный квадрат означает, что слой отображается как обычно, а пустой - что все объекты слоя отображаются в виде контуров. Это весьма полезно при paботе со сложными роликами. Для каждого слоя можно выбрать свой цвет отображения контуров (этим же цветом отображаются и квадраты в колонке).
Если щелкнуть правой кнопкой мыши на названии слоя и выбрать в конткстном меню пункт Properties (Свойства), откроется диалоговое окно (рис.2.15), в котором, в частности, можно задать цвет контуров при контурном отображении - кнопка Outline Color (Цвет контуров), а также высоту слоя на шкале времени - Layer Height (Высота слоя). К этому окну мы еще вернемся в последующих разделах, поэтому сейчас не имеет смысла описывать его подробно.
Пример использования слоев
Рассмотрим простой пример. Попробуем создать плывущие облака на фоне заката. (Разумеется, сами изображения здесь и далее описаны достаточно схематично. Понятно, что их можно улучшать... до бесконечности.)
Вначале создадим новый ролик (CTRL+N). Переименуем его единственный пока слой, назвав его Фон. Создадим в нем прямоугольник, по размерам чуть превышающий размеры области ролика. Выберем инструмент Заливка, затем в панели Fill (Заполнение) создадим линейный градиент, состоящий из перехода темно-синего цвета в светло-голубой и далее в красноватый. Зальем этим градиентом наш фон и повернем его с помощью кнопки Transform Fill (Преобразование заливки) так, чтобы цвета шли почти горизонтально, но все же под некоторым углом. Это и будет наше закатное небо. (Можно добавить к нему еще «заходящее солнце», хотя лучше это делать в отдельном слое).
Теперь щелкнем на кнопке REPLACE Layer (Вставить слой). Сверху от слоя Фон появится новый слой с именем Layer 2. Переименуем его в Облака.
Теперь сделаем на некоторое время слой Фон невидимым и создадим изображение облака. Можно, например, взять Перо, создать неправильный мноугольник, а затем искривить каждую его сторону. Теперь можно залить получившийся контур линейным градиентом светло-голубых оттенков, а сам контур выделить двойным щелчком мыши и удалить. Сдвинем получившееся изображение влево за границу рабочей области ролика.
Теперь выделим позицию 60 на шкале времени в этом слое и создадим в ней ключевой кадр (клавиша F6). Сдвинем наше «облако» на правый край за границу рабочей области. Немного изменим расположение градиента на облаке и искривим его границу, чтобы облако при движении немного меняло форму и освещенность. Можно также немного изменить его paзмер, пользуясь кнопкой Scale (Масштабирование). Перейдем снова в первый кадр и создадим морфинг, выбрав на панели Frame (Кадр) пункт Shape (Форма) в раскрывающемся списке Tweening (Тип анимации).
Теперь снова сделаем слой фон видимым. Чтобы завершить создание нашего простенького ролика, необходимо еще выровнять длину (продолжительность) обоих слоев. Сейчас у нас в слое Облака 60 кадров, а в слое Фон только один (соответственно, во втором кадре фон уже не будет виден). Поэтому выделим на шкале времени позицию 60 в слое Фон и нажмем клавишу F5, чтобы создать серию обычных кадров. Теперь можно просмотреть наш ролик. Вы увидите нечто похожее на облака, проплывающие на фоне закатного неба (приблизительно так, как на рис. 2.16).
Рис. 2.16. В этом ролике облако движется, а небо неподвижно. Программа перерисовывает только облако.
Конечно, этот пример очень примитивен. Например, в реальном ролике (помимо детализации графики самих объектов) хотелось бы видеть, что облака проплывают через разное время на разной высоте, не только по прямой. Желательно, чтобы на экране могло возникать и несколько облаков одновременно. Но пока что мы лишь проиллюстрировали применение слоев. Кстати, некоторые из упомянутых «улучшений» мы еще покажем в наших уроках.
Управление отображением шкалы времени
Говоря о применении слоев и анимации, нам приходится все больше работать со шкалой времени. Поэтому давайте прямо сейчас рассмотрим меню режимов отображения шкалы времени, которое открывается, если щелкнуть мышью справа от шкалы кадров. Это меню показано на рис. 2.17. Его верхняя секция управляет шириной отдельных кадров на шкале времени. Пункт Tiny (Миниатюрная) соответствует наиболее узким кадрам, а пункт Large (Большая) - наиболее широким. Следующая секция состоит из одного флажка меню Short (Узкая). Если его установить, высота слоев уменьшится.
Далее следует флажок Tinted Frames (Подсвеченные кадры), который отмечен по умолчанию. Он позволяет выделить цветом кадры, в которых происходит промежуточная анимация. И, наконец, два последних пункта: Preview (Предварительный просмотр) и Preview in Context (Предварительный просмотр в контексте). Они включают режимы отображения на шкале времени содержимого каждого кадра в уменьшенном виде. Разница между ними состоит в том, что в первом случае объекты отображаются в кадрах шкалы времени в максимально возможном размере, а во втором случае каждый кадр содержит как бы уменьшенную копию всей рабочей области.
Итак, мы научились использовать обычные слои. Однако в программе Flash можно использовать и специальные слои, предназначенные для специальных задач. О них и пойдет речь далее.