Macromedia Flash Professional 8. Графика и анимация
Шрифт:
Маскирующий слой используется для того, чтобы частично скрыть лежащее под ним изображение, показав только его небольшую часть. Анимировав содержимое этого слоя, можно создать "световое пятно", "ползающее" по изображению и "высвечивающее" разные его части.
Многослойная анимация
Ну что ж, начнем с самого простого — с многослойной анимации, т. е. анимации, состоящей из нескольких анимированных элементов, находящихся на разных слоях.
Создание многослойной анимации
Создадим
Теперь можно приступать к созданию анимации. Давайте заставим наш экземпляр двигаться по горизонтали, слева направо. Продолжительность анимации пусть составляет 10 кадров. Проверим готовую анимацию в действии и убедимся, что она работает.
Теперь давайте добавим на рабочий лист еще один экземпляр образца круг и заставим его двигаться по вертикали, сверху вниз. Для этого сначала создадим новый слой, а уже на него и поместим новый экземпляр. (О создании слоев см. главу 5.) Анимируем его и запустим воспроизведение готовой анимации. Вот и все.
Таким образом мы можем создавать сколько угодно слоев, помещать на них экземпляры и анимировать их. (Главное только — не переусердствовать, не то у зрителей зарябит в глазах. Но это так, шутка…)
Создание фоновых изображений
Очень часто бывает необходимо, чтобы анимированный элемент изображения располагался поверх какого-либо фонового изображения (фона). В частности, такие фоны часто применяются в художественных фильмах.
Как сделать фон во Flash? Очень просто!
Откроем документ, созданный нами чуть раньше, когда мы учились делать многослойную анимацию. Создадим в нем новый слой и поместим его ниже тех двух слоев, на которых находятся уже созданные нами анимированные элементы. Импортируем какое-либо большое растровое изображение и поместим его на этот слой.
А теперь очень важный момент. Единственный ключевой кадр, содержащий фоновое изображение, нужно растянуть так, чтобы его длина сравнялась с длиной анимации, которая его использует. Это нужно, чтобы созданный нами фон присутствовал на всех кадрах анимации.
Не забывайте о том, что было сказано выше! Ключевой кадр, содержащий фон, должен быть достаточной длины, чтобы покрыть всю использующую этот фон анимацию.
Все! Если мы теперь запустим воспроизведение созданной ранее анимации, наши элементы будут двигаться на красивом графическом фоне. Неплохо, правда?
Разумеется, фоном может служить не только импортированное растровое изображение, но и любая векторная графика, нарисованная в самом Flash. Фон также может быть анимированным, но это уже, на взгляд автора, перебор.
Ускорение отображения фрагментов фона
Как
Клипы — замечательная штука. Мы можем применить к ним фильтры (см. главу 9), чтобы наше кино выглядело эффектнее. Но в таком случае возникнет одна проблема, о которой нужно поговорить.
Если фильм включает в себя множество анимированных фрагментов, проигрывателю Flash может не хватить процессорных ресурсов, чтобы отобразить анимацию плавно, без рывков. В самом деле, при выводе каждого кадра фильма ему придется извлечь из файла Shockwave/Flash описания каждого анимированного образца, вычислить его координаты и нарисовать его в той позиции, в которой он должен быть в данный момент. А ведь анимированные элементы могут перекрывать друг друга, быть полупрозрачными, обрабатываться с помощью фильтров и даже управляться сценариями ActionScript. И, кроме проигрывателя Flash, на компьютере могут выполняться другие программы, тоже требующие "внимания" со стороны процессора. Так что ничего нет удивительного в том, что воспроизводимая анимация будет постоянно дергаться, а то и застывать на несколько секунд.
Но Flash 8 предоставляет способ хоть как-то решить эту проблему. Он позволяет включить кэширование выбранных клипов в оперативной памяти компьютера. То есть проигрыватель Flash после считывания образцов-клипов из файла Shockwave/Flash, где хранится фильм, и помещения их экземпляров на рабочий лист поместит их также в оперативную память. Тогда, если ему понадобится нарисовать какой-либо клип в другой позиции, он возьмет его именно из оперативной памяти вместо того, чтобы снова лезть в файл Shockwave/Flash.
Преимущество у этого подхода одно, и оно очевидно — ускорение воспроизведения анимации. А вот недостатков несколько:
кэшироваться в оперативной памяти могут только клипы, не содержащие встроенной анимации (хотя такие клипы могут быть анимированы);
при кэшировании множества клипов сильно возрастает потребность в системных ресурсах;
проигрыватель Flash в любой момент может посчитать, что клип не должен кэшироваться (например, если он слишком велик или если не хватает оперативной памяти).
Включить кэширование клипа очень просто. Выделяем на рабочем листе нужный клип и обращаемся к панели Properties. В нижней ее части, прямо под раскрывающимся списком наложений, находится отключенный по умолчанию флажок Use runtime bitmap caching. Включаем этот флажок — и клип будет кэшироваться при выводе.
Слово "bitmap" в подписи к этому флажку говорит о том, что клип кэшируется в растровом виде. Именно за счет этого и достигается ускорение его вывода на экран.