Как продлить кадр в adobe flash
В документах Adobe Animate время делится на кадры, как на кинопленке. Кадры лежат в основе любой анимации и диктуют каждый сегмент времени и движения. Общее количество кадров в фильме и скорость, с которой они воспроизводятся, вместе определяют общую продолжительность фильма. Краткое описание некоторых понятий о кадрах приводится ниже для справки.
Кадры
Работа с кадрами выполняется на временной шкале в целях организации и управления содержимым документа. Кадры размещаются на временной шкале в том порядке, в котором присутствующие на них объекты должны появляться в конечном материале.
Ключевой кадр
Ключевой кадр — это кадр, при котором на временной шкале появляется новый экземпляр символа. Ключевым кадром также может быть кадр с кодом ActionScript®, который тем или иным образом управляет документом. На временную шкалу также можно добавить пустой ключевой кадр, который может быть позже использован для добавления символов или специально может быть оставлен пустым кадром.
С помощью ключевого кадра можно задать положение, добавить опорные точки, операции, комментарии и т. д.
Диапазон
Выделение кадра на основе диапазона позволяет выбрать диапазон кадров между двумя ключевыми кадрами одним щелчком мыши.
Диапазон статических кадров
В диапазоне статических кадров одно и то же содержимое доступно на протяжении всего диапазона. Этот тип диапазона можно использовать, когда требуется отображать графику в течение фиксированного отрезка времени.
Диапазон кадров с анимацией
В диапазоне кадров с анимацией содержимое изменяется в каждом кадре диапазона. Этот тип диапазона можно использовать для анимации.
Чтобы вставить новый кадр, выберите команду Вставка > Временная шкала > Кадр (F5).
Чтобы создать новый ключевой кадр, выберите меню Вставка > Временная шкала > Ключевой кадр (F6) либо щелкните правой кнопкой мыши (Windows) или левой кнопкой, удерживая клавишу Control (Macintosh), кадр в том месте, где необходимо разместить ключевой кадр, а затем выберите из контекстного меню пункт Вставить ключевой кадр .
- Чтобы создать новый ключевой кадр, выберите меню Вставка > Временная шкала > Пустой ключевой кадр либо щелкните правой кнопкой мыши (Windows) или щелкните, удерживая нажатой клавишу «Control» (Macintosh), кадр в том месте, где должен быть размещен ключевой кадр, а затем выберите из контекстного меню пункт Вставить ключевой кадр .
Фильтры и цветовые эффекты раньше применялись только к фрагментам роликов и графическим символам. В режиме расширенных слоев фильтры и цветовые эффекты теперь можно применять к отдельным кадрам и соответственно ко всему содержимому кадров, включая фигуры, графические объекты, графические символы и т. д. Эффекты слоя можно также анимировать с помощью классических анимаций, фигур и анимаций обратной кинематики в кадрах.
Можно выбрать кадры в Animate можно двумя способами. Также можно маркировать кадры, чтобы упорядочить их содержимое.
Animate обеспечивает два различных метода выделения кадров на временной шкале. При выделении на основе кадров (по умолчанию) отдельные кадры выбираются на временной шкале. При выделении на основе диапазона щелчком на любом из кадров выделяется вся последовательность, от предыдущего до следующего ключевого кадра.
Выбор кадров на временной шкале
Выделение одного или нескольких кадров
Чтобы выделить несколько смежных кадров, перетащите курсор по кадрам или щелкайте дополнительные кадрам, удерживая клавишу Shift.
Чтобы выбрать несколько несмежных кадров, щелкните остальные, удерживая нажатой клавишу «Control» (Windows) или «Command» (Macintosh).
Чтобы выбрать все кадры на временной шкале, выберите меню Правка > Временная шкала > Выделить все кадры .
Выделение кадров на основе диапазона
Как предварительного условия для выделения на основе диапазона можно задать выделение на временной шкале Animate, щелкнув значок «Гамбургер» в верхнем правом углу и выбрав в меню пункт Выделение на основе диапазона .
- Чтобы выбрать целый диапазон кадров (анимации движения или обратной кинематики), щелкните кадр.
- Чтобы выбрать несколько диапазонов, щелкните каждый из них, удерживая клавишу Shift .
Маркировка кадров на временной шкале
Кадры на временной шкале можно пометить, чтобы упростить работу с содержимым. Кадры также можно пометить, чтобы ссылаться на них в коде ActionScript, используя присвоенные метки. Таким образом, если изменить расположение кадров на временной шкале и передать метку кадру с другим номером, код ActionScript по-прежнему будет ссылаться на метку, и его не потребуется обновлять.
Метки кадров можно присваивать только ключевым кадрам. Лучше создать на временной шкале отдельный слой, который будет содержать метки кадров. Использование отдельного слоя для меток позволяет эффективнее упорядочивать содержимое и ключевые кадры.
Монтажные кадры в Adobe Flash введены, чтобы упорядочить создаваемую анимацию. Обычно монтажные кадры применяются при создании большой (длительной) анимации.
Например, отдельный монтажный кадр может быть введением перед основной анимацией.
Каждый монтажный кадр - это один FLA-файл (т.е. по сути - это полуфабрикат готовой анимации - см. В.иды файлов Flash).
Нужно избегать применения большого количества монтажных кадров.
Каждый монтажный кадр имеет временную шкалу.
Кадры в документе нумеруются последовательно по всем монтажным кадрам. Например, если в документе содержатся два монтажных кадра, в каждом из которых по десять кадров, то кадры в монтажном кадре 2 имеют номера 11-20. Монтажные кадры документа проигрываются в том порядке, в каком они перечислены на панели «Монтажный кадр». Когда точка воспроизведения достигает последнего кадра монтажного кадра, она автоматически переходит к следующему монтажному кадру.
Недостатки монтажных кадров
- Монтажные кадры могут затруднить редактирование документов, особенно в средах с несколькими авторами. Возможно, пользователю FLA-документа, чтобы найти код и ресурсы, придется выполнять поиск по нескольким монтажным кадрам во FLA-файле. Вместо этого лучше загружать внешнее содержимое SWF или использовать фрагменты роликов.
- К тому же использование монтажных кадров часто приводит к увеличению размера SWF-файла. Это вызвано тем, что в каждом FLA-файле удобно размещать больше содержимого, что приводит к большему размеру SWF-файлов.
- Пользователям приходится последовательно загружать с сервера весь SWF-файл с монтажными кадрами, даже если они не собираются или не хотят смотреть его целиком. Без использования монтажных кадров пользователи смогут управлять загрузкой содержимого при просмотре SWF-файла.
- Сочетание монтажных кадров и сценариев ActionScript может приводить к непредвиденным результатам. Временная шкала каждого монтажного кадра сжимается в единую временную шкалу, что может привести к ошибкам, связанным со сценариями ActionScript и монтажными кадрами, для которых обычно требуется дополнительная сложная отладка.
Чтобы остановить или приостановить воспроизведение документа после каждого монтажного кадра либо предоставить пользователю возможность нелинейно перемещаться по документу, используется код ActionScript.
Подробнее о работе с несколькими монтажными кадрами - см. Авторскую справку программы.
Управление монтажными кадрами
Для управления монтажными кадрами служит панель «Монтажный кадр»
Для открытия панели используйте меню «Окно» > «Другие панели» > «Монтажный кадр».
Добавление или удаление монтажного кадра
В меню «Вставка» выберите «Монтажный кадр» или нажмите кнопку «Добавить монтажный кадр» на панели «Монтажный кадр».
Для удаление монтажного кадра - нажмите кнопку «Удалить монтажный кадр» на панели «Монтажный кадр».
В данном обзоре, для простоты, под монтажным кадром (Stage) понимается просто сцена и все то, что происходит на этой сцене (т.е. по сути один монтажный кадр - это создаваемая нами анимация).
Монтажный кадр - это то, что увидят зрители Flash.
Добавление или удаление монтажных кадров - аналогично добавлению или удалению сцен.
Один монтажный кадр (или сцена) содержит различные объекты - текст, рисунки, геометрические фигуры и пр., которые расположены по различным слоям и могут действовать независимо друг от друга.
Свойства кадра
Свойства кадра определяются при создании нового проекта.
К этим свойствам можно вернуться в любое время, выбирая меню Modify - Document .
Свойства кадра можно скорректировать в процессе работы над мультипликацией.
Для этого щелкните по монтажному кадру (но не по объекту), и используйте Инспектор свойств .
На панели Свойства (Properties inspector) откроются свойства кадра.
Размеры кадра - укажите ширину и высоту (Width и Height) кадра в строке "Размер".
Цвет кадра - выберите цвет в строке "Монт. стол" (Background).
Масштаб кадра - используйте меню Просмотр.
Сведения о файле
Вы можете открыть окно сведений о файле - меню Файл - Сведения о файле .
Здесь можно указать название файла, дату создания. указать автора (и дать все сведения об авторе - адрес, должность телефон и пр.), сделать описание, указать наличие авторских прав и другое.
Если Вы освоите работу с кадрами в 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 возвращает целое число, представляющее общее количество кадров в монтажном кадре.
Читайте также: