Как создать кадр в adobe flash
В документах Adobe Animate время делится на кадры, как на кинопленке. Кадры лежат в основе любой анимации и диктуют каждый сегмент времени и движения. Общее количество кадров в фильме и скорость, с которой они воспроизводятся, вместе определяют общую продолжительность фильма. Краткое описание некоторых понятий о кадрах приводится ниже для справки.
Кадры
Работа с кадрами выполняется на временной шкале в целях организации и управления содержимым документа. Кадры размещаются на временной шкале в том порядке, в котором присутствующие на них объекты должны появляться в конечном материале.
Ключевой кадр
Ключевой кадр — это кадр, при котором на временной шкале появляется новый экземпляр символа. Ключевым кадром также может быть кадр с кодом ActionScript®, который тем или иным образом управляет документом. На временную шкалу также можно добавить пустой ключевой кадр, который может быть позже использован для добавления символов или специально может быть оставлен пустым кадром.
С помощью ключевого кадра можно задать положение, добавить опорные точки, операции, комментарии и т. д.
Диапазон
Выделение кадра на основе диапазона позволяет выбрать диапазон кадров между двумя ключевыми кадрами одним щелчком мыши.
Диапазон статических кадров
В диапазоне статических кадров одно и то же содержимое доступно на протяжении всего диапазона. Этот тип диапазона можно использовать, когда требуется отображать графику в течение фиксированного отрезка времени.
Диапазон кадров с анимацией
В диапазоне кадров с анимацией содержимое изменяется в каждом кадре диапазона. Этот тип диапазона можно использовать для анимации.
Чтобы вставить новый кадр, выберите команду Вставка > Временная шкала > Кадр (F5).
Чтобы создать новый ключевой кадр, выберите меню Вставка > Временная шкала > Ключевой кадр (F6) либо щелкните правой кнопкой мыши (Windows) или левой кнопкой, удерживая клавишу Control (Macintosh), кадр в том месте, где необходимо разместить ключевой кадр, а затем выберите из контекстного меню пункт Вставить ключевой кадр .
- Чтобы создать новый ключевой кадр, выберите меню Вставка > Временная шкала > Пустой ключевой кадр либо щелкните правой кнопкой мыши (Windows) или щелкните, удерживая нажатой клавишу «Control» (Macintosh), кадр в том месте, где должен быть размещен ключевой кадр, а затем выберите из контекстного меню пункт Вставить ключевой кадр .
Фильтры и цветовые эффекты раньше применялись только к фрагментам роликов и графическим символам. В режиме расширенных слоев фильтры и цветовые эффекты теперь можно применять к отдельным кадрам и соответственно ко всему содержимому кадров, включая фигуры, графические объекты, графические символы и т. д. Эффекты слоя можно также анимировать с помощью классических анимаций, фигур и анимаций обратной кинематики в кадрах.
Можно выбрать кадры в Animate можно двумя способами. Также можно маркировать кадры, чтобы упорядочить их содержимое.
Animate обеспечивает два различных метода выделения кадров на временной шкале. При выделении на основе кадров (по умолчанию) отдельные кадры выбираются на временной шкале. При выделении на основе диапазона щелчком на любом из кадров выделяется вся последовательность, от предыдущего до следующего ключевого кадра.
Выбор кадров на временной шкале
Выделение одного или нескольких кадров
Чтобы выделить несколько смежных кадров, перетащите курсор по кадрам или щелкайте дополнительные кадрам, удерживая клавишу Shift.
Чтобы выбрать несколько несмежных кадров, щелкните остальные, удерживая нажатой клавишу «Control» (Windows) или «Command» (Macintosh).
Чтобы выбрать все кадры на временной шкале, выберите меню Правка > Временная шкала > Выделить все кадры .
Выделение кадров на основе диапазона
Как предварительного условия для выделения на основе диапазона можно задать выделение на временной шкале Animate, щелкнув значок «Гамбургер» в верхнем правом углу и выбрав в меню пункт Выделение на основе диапазона .
- Чтобы выбрать целый диапазон кадров (анимации движения или обратной кинематики), щелкните кадр.
- Чтобы выбрать несколько диапазонов, щелкните каждый из них, удерживая клавишу Shift .
Маркировка кадров на временной шкале
Кадры на временной шкале можно пометить, чтобы упростить работу с содержимым. Кадры также можно пометить, чтобы ссылаться на них в коде ActionScript, используя присвоенные метки. Таким образом, если изменить расположение кадров на временной шкале и передать метку кадру с другим номером, код ActionScript по-прежнему будет ссылаться на метку, и его не потребуется обновлять.
Метки кадров можно присваивать только ключевым кадрам. Лучше создать на временной шкале отдельный слой, который будет содержать метки кадров. Использование отдельного слоя для меток позволяет эффективнее упорядочивать содержимое и ключевые кадры.
Применение монтажных кадров аналогично использованию нескольких FLA-файлов вместе для создания более масштабной презентации. Каждый монтажный кадр имеет временную шкалу. Кадры в документе нумеруются последовательно по всем монтажным кадрам. Например, если в документе содержатся два монтажных кадра, в каждом из которых по десять кадров, то кадры в монтажном кадре 2 имеют номера 11-20. Монтажные кадры документа проигрываются в том порядке, в каком они перечислены на панели «Монтажный кадр». Когда точка воспроизведения достигает последнего кадра монтажного кадра, она автоматически переходит к следующему монтажному кадру.
Недостатки монтажных кадров
При публикации SWF-файла временные шкалы всех монтажных кадров объединяются в одну временную шкалу SWF-файла. После компиляции SWF-файл работает так же, как если бы он был создан из FLA-файла с одним монтажным кадром. Поэтому монтажным кадрам присущи следующие недостатки.
Монтажные кадры могут затруднить редактирование документов, особенно в средах с несколькими авторами. Возможно, пользователю FLA-документа, чтобы найти код и ресурсы, придется выполнять поиск по нескольким монтажным кадрам во FLA-файле. Вместо этого лучше загружать внешнее содержимое SWF или использовать фрагменты роликов.
К тому же использование монтажных кадров часто приводит к увеличению размера SWF-файла. Это вызвано тем, что в каждом FLA-файле удобно размещать больше содержимого, что приводит к большему размеру SWF-файлов.
Пользователям приходится последовательно загружать с сервера весь SWF-файл с монтажными кадрами, даже если они не собираются или не хотят смотреть его целиком. Без использования монтажных кадров пользователи смогут управлять загрузкой содержимого при просмотре SWF-файла.
Сочетание монтажных кадров и сценариев ActionScript может приводить к непредвиденным результатам. Временная шкала каждого монтажного кадра сжимается в единую временную шкалу, что может привести к ошибкам, связанным со сценариями ActionScript и монтажными кадрами, для которых обычно требуется дополнительная сложная отладка.
Управление воспроизведением монтажных кадров
Чтобы остановить или приостановить воспроизведение документа после каждого монтажного кадра либо предоставить пользователю возможность нелинейно перемещаться по документу, используется ActionScript. Дополнительные сведения см. в описании ActionScript
На Графике времени Adobe Flash время, отведенное на то или иное действие, определяется отведенными для действия кадрами.
Кадры на Графике времени обозначены маленькими прямоугольниками, расположенными на своих уровнях.
Исходя из количества кадров, определяется время (в сек), отведенное на то или иное действие. Так, если скорость мультипликации в настройках проекта установлена в 24 кадра в сек, то 24 кадра составят 1 сек мультипликации.
Красный движок (playhead), который передвигается по шкале времени, активирует каждый кадр при воспроизведении мультипликации.
Все кадры мультипликации можно разделить на обычные кадры и ключевые кадры.
Обычный кадр (или просто кадр) - кадр, в котором не происходит никаких изменений или происходят изменения, которые программа по нашему указанию создает автоматически в режиме создания плавных изменений.
Простой кадр на графике времени обозначается значком . Если таких кадров несколько, то значок ставится только в последнем кадре.
Ключевые кадры
Ключевые кадры - кадры, в которых мы сами определяем необходимые изменения.
Ключевой кадр обозначен на Графике времени как маленький круг. Ключевой кадр может быть заполненным (обозначен черным кружком) или пустым (пустой кружок).
При создании ключевых кадров нам нужно указать программе:
1. В каком ключевом кадре начинаются изменения
2. В каком ключевом кадре эти изменения заканчиваются.
Например, если в первом ключевом кадре мы определяем, что объект начинает движение, то во втором кадре нам нужно указать, что движение заканчивается или что объект начинает двигаться в другом направлении.
Когда Вы хотите поместить графический символ, запустить звук или запустить мультипликацию в определенном кадре Графика времени, Вы должен вначале создавать ключевой кадр (keyframe) в этом кадре.
Каждый новый уровень на Графике времени содержит по умолчанию единственный ключевой кадр в кадре 1.
Пустые ключевые кадры
Пустой ключевой кадр - кадр, который прерывает предыдущие изменения, но не начинает новые изменения.
Для вставки пустого ключевого кадра щелкните в соответствующем кадре правой кнопкой, в контекстном меню выберите Insert Blank Keyframe .
Работа с кадрами
Разработчики Adobe Flash Professional создали большую и сложную программу.
Но особенно они перемудрили, сделав работу с кадрами очень сложной. Уже одно это может отпугнуть от программы очень многих потенциальных пользователей.
Если Вы освоите работу с кадрами в Adobe Flash, то считайте, что большая часть трудностей позади.
Далее - некоторые из приемов работы с кадрами.
При создании нового проекта по умолчанию программа создает один пустой слой под названием "Слой 1" (Layer 1) (см. Слои ).
Первый кадр слоя отмечен пустым кружком. Это обозначает, что как кадр 1, так и слой "Layer 1" пустые - на слое нет вставленных объектов.
Вставим любой объект на слой "Layer 1", например импортированное растровое изображение (см. Импорт ).
Вид Графика времени сразу изменяется - появляется черный кружок в кадре 1.
В кадре 1 произошли изменения (был пустой кадр - стал заполненный), поэтому программа автоматически пометила 1-й кадр как заполненный ключевой кадр.
Вставка простых кадров
Сделаем первый слой с нашим вставленным изображением фоновым слоем, на котором будут разворачиваться все дальнейшие события.
Дважды щелкнем по слою "Layer 1" и переименуем его в "Фон".
Допустим, что продолжительность создаваемой мультипликации планируется в 30 кадров и все 30 кадров фоновый слой не меняется.
- В контекстном меню кадра выберите Добавить кадр (Insert Frame).
- В меню Вставка (Insert) выберите Временная шкала (Timeline) > Кадр (Frame)
- Нажмите клавишу (F5)
Как видим, все вновь созданные кадры - обычные кадры, в которых не происходит никаких изменений. Таким образом вставленное фоновое изображение будет фигурировать на протяжении всех 30-ти кадров.
Если Вы освоите работу с кадрами в Adobe Flash, то считайте, что большая часть трудностей позади.
Далее - некоторые из приемов работы с кадрами.
При создании нового проекта по умолчанию программа создает один пустой слой под названием "Слой 1" (Layer 1) (см. Слои ).
Вставим любой объект на слой "Layer 1".
Например, импортируем растровое изображение (см. Импорт ) и вставим его на слой "Layer 1".
Изображение показано слева.
В кадре 1 произошли изменения (был пустой кадр - стал заполненный), поэтому программа автоматически пометила 1-й кадр как ключевой кадр.
Дважды щелкнем по слою "Layer 1" и переименуем его в "Фон".
Вставка простых кадров
Простой кадр - это кадр, в котором Вы не определили никаких изменений.
Пример 1:
Создадим новый слой - в разделе слоев щелкнем по значку добавления нового слоя (). Добавляется новый слой, который программа назовет "Layer 2". Переименуем слой в "Эллипс".
Временная шкала будет выглядеть так:
Вставим на этот слой эллипс. Кружок 1-го кадра сразу преображается - пустой кружок становится заполненным черным цветом.
Выделим эллипс и преобразуем его в символ - в контекстном меню эллипса выберем " Преобразовать в символ " (Convert to Sumbol). Выберем графический тип символа.
Создадим мультипликацию плавных изменений. Для этого в контекстном меню нашего эллипса выберем Создать анимацию движения (Create Motion Tween).
Программа автоматически добавляет 24 кадра при установленной скорости мультипликации 24 кадра в сек.
Если бы скорость мультипликации была установлена, например, 30 кадров в сек., то программа добавила бы 30 пустых кадров.
Переместим эллипс по сцене. В 24-м кадре автоматически будет создан ключевой кадр, обозначенный черным кружком.
Временная шкала будет выглядеть так:
Создадим новый слой, вставим на него эллипс, преобразуем эллипс в символ, как описано в примере 1.
Щелкнем на кадре 20 слоя "Эллипс", в контекстном меню кадра выберем " Вставить ключевой кадр " (Insert Keyframe).
Щелкаем по любому кадру между 1-м и 20-м кадрами, в контекстном меню выбираем Создать классическую анимацию движения (Create Classic Tween).
Перемещаем наш эллипс по сцене.
Временная шкала будет выглядеть так:
Можно заметить, что и в примере 1, и в примере 2 получен одинаковый результат - эллипс плавно перемещается по сцене.
Но при этом как вид временной шкалы, так и последовательность действий при создании анимации отличаются.
Из примера 1 и примера 2 видно, что наше фоновое изображение, которое ранее мы вставили на слое "Фон", пропадает в самом начале мультипликации. Понятно, почему это произошло - мы отвели всего 1 кадр на демонстрацию изображения.
Допустим, что продолжительность создаваемой мультипликации планируется в 30 кадров и все 30 кадров фоновый слой не меняется.
- В контекстном меню кадра выберите Добавить кадр (Insert Frame).
- В меню Вставка (Insert) выберите Временная шкала (Timeline) > Кадр (Frame)
- Нажмите клавишу F5.
Можно просмотреть созданную мультипликацию, нажав клавишу Enter .
Обычно фоновый слой блокируется, чтобы предотвратить его изменение - ставится значок замка.
Пример 4 :
Вы можете добавить или удалить простые кадры.
Удаление кадров :
Для удаления кадра его нужно выделить, в контекстном меню выбрать Remove Frames .
Для выделения нескольких кадров удерживайте клавишу Ctrl .
Например, нам нужно уменьшить число кадров для фона на 5 кадров. Выделим 5 кадров и удалим их - вместо 30-ти кадров остается 25.
Добавление кадров :
Например, нам нужно на слое "Фон" добавить несколько кадров. Для этого можно щелкнуть по кадру 30 и, когда рядом с курсором появляется маленький прямоугольник, просто перетащить кадр 30 вправо по шкале времени.
Или можно щелкнуть на любом кадре между 1-м и 30-м и в контекстном меню выбрать Добавить кадр (Insert Frame).
Flash использует концепцию временной шкалы для передачи анимации или изменения состояния. Любой визуальный элемент, использующий временную шкалу, должен являться объектом MovieClip или расширением класса MovieClip. Хотя ActionScript может предписать любому фрагменту ролика начать, остановить воспроизведение или перейти к другой точке на временной шкале, с помощью кода нельзя динамически создать временную шкалу или добавлять содержимое в определенные кадры — это можно сделать только в инструменте разработки Flash.
Когда воспроизводится экземпляр MovieClip, точка воспроизведения перемещается вперед по временной шкале со скоростью, определяемой частотой кадров SWF-файла. Эту настройку можно также переопределить, задав свойство Stage.frameRate в ActionScript.
Начало и остановка воспроизведения фрагментов роликов
Методы play() и stop() обеспечивают основные элементы управления продвижением фрагмента ролика по временной шкале. Предположим, в рабочей области есть символ фрагмента ролика, содержащий анимацию велосипеда, проезжающего от одного конца экрана до другого, с именем экземпляра bicycle . Если присоединить следующий код к ключевому кадру на основной временной шкале,
велосипед не будет двигаться (его анимация не будет воспроизводиться). Движение велосипеда можно начать посредством другого взаимодействия. Например, если добавить кнопку с именем startButton , следующий код в ключевом кадре на основной временной шкале позволит нажатием кнопки воспроизвести анимацию.
Перемотка вперед и назад
Контролировать воспроизведение фрагмента ролика можно не только с помощью методов play() и stop() . Также можно перемещать точку воспроизведения вперед или назад по временной шкале с помощью методов nextFrame() и prevFrame() . Вызов любого из этих методов останавливает воспроизведение и перемещает точку воспроизведения соответственно на один кадр вперед или назад.
Использование метода play() аналогично вызову nextFrame() каждый раз, когда отправляется событие enterFrame фрагмента ролика. Подобным образом можно воспроизвести фрагмент ролика bicycle в обратном направлении, если создать прослушиватель события enterFrame и с помощью функции прослушивателя предписать экземпляру bicycle переходить к предыдущему кадру, как показано в следующем примере.
Если фрагмент ролика содержит более одного кадра, то при обычном воспроизведении он будет воспроизводиться бесконечно, то есть после прохождения последнего кадра он будет возвращаться к кадру 1. Когда используется метод prevFrame() или nextFrame() , это поведение не включается автоматически (вызов метода prevFrame() при достижении кадра 1 не переводит точку воспроизведения на последний кадр). Условие if в описанном выше примере проверяет, дошла ли точка воспроизведения до первого кадра, и устанавливает ее на последний кадр, чтобы создать непрерывный цикл обратного воспроизведения фрагмента ролика.
Переход к другому кадру с помощью меток кадров
Преимущества использования меток, а не номеров кадров, особенно очевидны при создании сложного фрагмента ролика. Когда количество кадров, слоев и анимаций движения становится очень большим, следует присвоить важным кадрам описательные метки, обозначающие изменение поведения фрагмента ролика (например, «выкл.», «пешком», «бегом»). Это улучшает удобочитаемость кода и предоставляет гибкость, так как вызовы ActionScript, переходящие к кадру с меткой, указывают на уникальную точку (метку), а не на номер кадра. Если позднее вы решите переместить определенный сегмент анимации в другой кадр, то вносить изменения в код ActionScript не потребуется, так как для кадров в новом местоположении сохранится прежняя метка.
Для представления меток кадров в коде ActionScript 3.0 используется класс FrameLabel. Каждый экземпляр этого класса представляет одну метку кадра и имеет свойство name , представляющее имя метки кадра, заданное в инспекторе свойство, и свойство frame , представляющее номер кадра на временной шкале, которому присвоена метка.
Чтобы получить доступ к экземплярам FrameLabel, связанным с экземпляром фрагмента ролика, класс MovieClip включает два свойства, напрямую возвращающие объекты FrameLabel. Свойство currentLabels возвращает массив, содержащий все объекты FrameLabel на временной шкале фрагмента ролика. Свойство currentLabel возвращает строку с именем последней пройденной метки кадра на временной шкале.
Допустим, что вы создали фрагмент ролика с именем robot и пометили различные состояния его анимации. Можно настроить условие, которое проверяет свойство currentLabel для получения текущего состояния объекта robot , как в следующем коде.
Проигрыватель Flash Player 11.3 и приложение AIR 3.3 добавили событие frameLabel в класс FrameLabel. Экземпляру FrameLabel, представляющему метку кадра, можно назначить обработчик событий. Событие отправляется, когда указатель воспроизведения достигает кадра.
В следующем примере создается экземпляр FrameLabel для второй метки кадра в массиве меток кадров для MovieClip. Затем регистрируется обработчик события frameLabel :
Работа с монтажными кадрами
В среде разработки Flash монтажные кадры можно использовать для разделения последовательных временных шкал, через которые проходит SWF-файл. Используя второй параметр методов gotoAndPlay() и gotoAndStop() , можно задать монтажный кадр, к которому должна перейти точка воспроизведения. Все FLA-файлы начинаются только с исходного монтажного кадра, но можно создавать и другие монтажные кадры.
Использование монтажных кадров не всегда целесообразно, так как они имеют ряд недостатков. Документ Flash, содержащий много монтажных кадров, сложно обрабатывать, особенно в среде с несколькими авторами. Создание нескольких монтажных кадров также приводит к неэффективному использованию пропускной способности, так как в процессе публикации все монтажные кадры объединяются в одну временную шкалу. Это приводит к последовательной загрузке всех монтажных кадров, даже если они никогда не воспроизводились. По этим причинам использование нескольких монтажных кадров, как правило, не рекомендуется, за исключением случаев, когда требуется организовать несколько продолжительных анимаций на базе временной шкалы.
Свойство scenes класса MovieClip возвращает массив объектов Scene, представляющих все монтажные кадры в SWF-файле. Свойство currentScene возвращает объект Scene, представляющий монтажный кадр, который воспроизводится в данный момент.
Класс Scene имеет несколько свойств, предоставляющих информацию о монтажном кадре. Свойство labels возвращает массив объектов FrameLabel, представляющих метки кадров в данном монтажном кадре. Свойство name возвращает имя монтажного кадра в виде строки. Свойство numFrames возвращает целое число, представляющее общее количество кадров в монтажном кадре.
Читайте также: