Как сделать кадр в adobe flash

Обновлено: 06.07.2024

Сегодня мы расскажем, как в Playrix создаются анимации в Animate (Flash). Статья посвящена несложным трюкам, которые можно использовать как базу для эффектов посложнее. Для профессионалов она, возможно, и не будет откровением, но начинающие флешеры (или анимейтеры, если хотите) наверняка найдут для себя что-нибудь интересное. Эти приемы точно сэкономят вам уйму времени в сложных задачах.

1. Почему мы работаем в Animate, а не в Spine?

  • И вновь дело в производительности, по этому критерию флеш выигрывает. 3D используется ситуативно, где без него никак не обойтись – рыбки в Fishdom, главные персонажи в Homescapes и Gardenscapes, например.
  • Лишние этапы работы – нужно создать модель, текстуры, риг.

3. Как флеш-анимации попадают в игру, что поддерживается, а что нет?

  • Используем свою программу-растеризатор, которая превращает swf в два файла: текстурный атлас и swl, в котором записаны все смещения объектов. Это аналог GAF.
  • Поддерживается: иерархия вложенностей, инстанс-неймы.
  • Не поддерживаются: маски, фильтры, tint/brightness и режимы наложения.

На первый взгляд может показаться, что во флеше невозможно сделать что-то действительно интересное. Но это не так! Сейчас объясним.

Начнем с самого простого: поворот кубика в изометрии. Очевидное наблюдение: каждая сторона куба – это квадрат. Если представить, что мы смотрим на куб сверху, то кроме верхней квадратной стороны мы ничего не увидим. Поворачивать его в таком ракурсе довольно просто. Но если куб нарисован по-другому, ситуация усложняется: стороны выглядят как ромбы и трансформировать их для создания иллюзии вращения куба – довольно сложная задача.

Однако используя вложенную анимацию во флеше мы можем работать с недеформированными сторонами во вложенности. А впоследствии трансформировать клип со вложенной анимацией до нужного вида. Конечно, тут необходима графика сторон куба во фронтальном виде или предварительно растянутые до близкого к квадратному состоянию стороны.

Повернем его содержимое. Внутри у него всё еще квадрат и поворачиваться он будет как квадрат, ведь все искажения внешние.

Нижняя грань повторяет движение верхней. Создайте ее копию.

Полдела сделано, вращаются верхняя и нижняя грани. Движение их углов полностью определяет положение боковых граней. Предстоит немного механической работы, чтобы аккуратно подогнать боковые стороны (рис.2). Удобнее будет использовать режим graphic для верхних граней, чтобы их поворот отображался на основном таймлайне.

Таким нехитрым способом можно сделать вращение и для других правильных многогранников – октаэдров, додекаэдров и т.д. С неправильными работать сложнее, но тоже возможно.

Посмотрим на коробку сбоку – открытие створок предельно простое. Повернем их во вложенности (рис.1). Створки – это желтые отрезки. Рекомендуем для них использовать круг как подложку. Так удобнее и нагляднее будет трансформировать основной клип. Без круга, только с отрезками можно запутаться.

Затем расположим в изометрии клипы, которые содержат поворот створок во вложении, и поставим им режим graphic. Поворот желтых отрезков будем использовать как ориентир.

Пять минут механической работы, чтобы вместо палочек были настоящие створки – и готово (рис.2.2). Для второй пары створок можно использовать отзеркаленную копию первой.

Где это можно применять помимо очевидного открытия разных створок и ворот? Там, где нужно отследить перемещение объекта по круговым траекториям, особенно в сложных ракурсах.

В этом примере мы покажем, как подходы, описанные в предыдущих пунктах, можно применять для более сложных объектов. Анимировать будем маленькую машинку, которая ездит между дорожных конусов.

Очевидно, первое, что нужно сделать – представить сложный объект как набор простых, игнорируя вторичные элементы на этом этапе. (рис.1)

Подробно расписывать этапы работы над поворотом мы не будем, принцип тот же, что и в первых двух примерах – поворот неискаженного элемента машины во вложенности и последующая внешняя трансформация клипа (либо создание вспомогательных клипов, по которым проще отслеживать трансформацию сегментов машины). Во вспомогательных клипах можно сделать различные пометки, которые помогут отследить положение второстепенных элементов (Рис.2).

Можно пойти другим путем и разложить сложное движение на составляющие (рис.3, слева направо с самого нижнего уровня вложенности):

  1. Поворот машины на месте
  2. Цикл движения из стороны в сторону
  3. Движение машины по прямой
  • Анимируем вспомогательный символ (зацикленное движение вверх-вниз и в стороны) (Рис.1)
  • Создаем несколько его копий и устанавливаем равномерную рассинхронизацию. Несколько клипов слева стоит сжать по горизонтали, чтобы уменьшить амплитуду колебаний. Можно поэкспериментировать с движением сегментов на каждом из уровней вложенности. Логика движения сохранится, но смотреться будет по-разному.

Где можно применять такой подход? В зацикленных плавных эффектах – огне, волнах и т.д. Структура везде будет разная, сохранится только общий принцип рассинхронизации клипов.

На основном таймлайне всего несколько символов (рис.1). Во вложенность помещены все действия краба помимо перемещения. Он поворачивается, удивляется, стучит по стеклу и т.д. – все это стоя на месте (рис.2). Туловище краба также содержит поворот во вложенности, это удобно.

У этого крабика множество разных анимаций, структура вложенности у них отличается. Но логика в целом одна и та же – комплексные движения распределены по уровням вложенности, на основном таймлайне происходят главные движение символов головы и клешней. А все моргания и улыбки, изгибы и движения клешней сделаны вложенными анимациями.

Тот же подход мы используем при создании анимаций персонажей Gardenscapes и Homescapes. Все элементы туловища и головы находятся во вложенности, на основном таймлайне анимируется только основной клип целиком. Во вложенности удобнее делать эмоции и повороты, без перемещения множества сегментов на основном таймлайне.

Напоследок небольшой бонус. Еще парочка маленьких хитростей и скрипты:

Сбивается точка трансформации клипа и в результате анимация дергается. Как это починить:

а) Двойной клик на белый кружок вернет его в точку регистрации.

б) Можно выставить нужное положение точки трансформации, затем пройтись по всем ключевым кадрам с этим клипом, нажимая Ctrl+Y (это не только однократный Redo, но и повтор последнего действия).

Клип неудобно трансформировать при его текущей рамке трансформации. Особенно если он уже очень сильно деформирован

Клип можно сгруппировать (Ctrl+G). Группа даст новую рамку трансформации. После этого от группы нужно избавиться с помощью Break apart (Ctrl+B).

Работа с растровыми изображениями

Если вы работаете с множеством сегментов, бывает сложно выделить какой-нибудь клип на нижних слоях. Флеш реагирует на клик по прозрачной области растровой картинки – и выделяется не то, что нужно. Можно превратить растр в растровую заливку с помощью Break apart и стереть прозрачные участки, но это долго. У нас есть несколько скриптов для избавления от прозрачных областей – вы можете найти их по ссылке.

Sorcery_MaskBitmap.jsfl – создает векторную маску по форме картинки

Sorcery_CutBitmap.jsfl – обрезает прозрачную область

Sorcery_CutBitmapPrecise.jsfl – то же самое, что и предыдущий скрипт, только с пиксельной точностью, без сглаживания. Подходит для мелких объектов.

Сжатие/растяжение таймлайна.

Для этого есть отличный скрипт. Ссылка на страницу разработчика. Мы его используем регулярно. Принцип работы предельно прост – выделяем нужный участок фреймов на таймлайне, запускаем скрипт, задаем коэффициент для сжатия или растяжения. Готово.

Как в Adobe Flash одновременно изменить сразу много кадров главной временной шкалы или временной шкалы MovieClip-а? Например, мы хотим изменить для всех кадров выравнивание, ширину, высоту или ещё что-то.

Делается это следующим образом.

Итак, у нас есть временная шкала и на ней много-много кадров:

Временная шкала Adobe Flash

Edit Multiple Frames в Adobe Flash

Onion Skin selector в Adobe Flash

Onion Skin selector в Adobe Flash

Что изменилось? А изменилось то, что вы теперь одновременно видите все кадры временной шкалы (если, конечно, кадры, лежащие выше, не перекрывают собою расположенные ниже кадры). Это позволяет наблюдать процесс изменения всех кадров временной шкалы в визуальном режиме.

Ещё раз убеждаемся, что кадры выделены (если это не так, то или выделяем всё содержимое на сцене, или выделяем с помощью мышки все кадры временной шкалы) и вносим желаемые изменения. Например, идём в панель выравнивания и меняем первоначальные настройки выравнивания:

Выравнивание объектов в Adobe Flash

Есть у данного способа работы с несколькими кадрами ряд недостатков. По-первых, вносимые таким способом изменения иногда порождают непредсказуемый результат. Поэтому не забудьте предварительно сохраниться, чтобы иметь возможность откатиться. Во-вторых, если кадров много и они "тяжёлые", то программа начинает тормозить и может закрыться с ошибкой. Следовательно, сохраняемся и ещё раз сохраняемся. Ну и, конечно, таким способом можно изменить далеко не всё и не всегда. Хотя, это и так понятно:-) Но зато такой способ работы позволяет экономить время и силы, а это дорогого стоит.

сделайте рисунок или объясните по нормальному что хотите сделать

Объект сдвигается по нескольким ключевым кадрам. допустим f1 = 10,10, f2 = 100,100. Нужно сделать чтобы объект в обоих кадрах был сдвинут на одинаковое число точек f=20,20, f2=110,110 - на 10 в данном примере. Как это сделать в одно движение? Вопрос не про программирование, а про интерфейс программы Flash.

кодом такое решается легко в одну строку. Что значит "вопрос про интерфейс"?

Neonoviiwolf: это значит, что кривой интерфейс у флеша. Простая операция требует поиска в интернете.

39bc49c365.jpg

Если я правильно понял вопрос, то вам нужно поиграться с этими четырьмя кнопками, слева от "114"
одна из них должна включить режим множественного выделения фреймов и тогда можно будет выбрать один объект сразу на всех фреймах.
Точно кнопку не помню, потому что флеш уже давно не запускал )

Рисование, Дизайн и Разработка игр

Анимация движения в Adobe Flash по направляющей (guide)

В предыдущих уроках мы рассматривали рисование кнопки и простую анимацию движения окружности. В этом уроке рассмотрим, что такое анимация движения объекта по заданной направляющей траектории (guide). Создадим условный объект и нарисуем для него путь, по которому он будет проходить.

Создания нового документа ActionScript 3.0

создаем документ ActionScript 3.0

выбираем инструмент Rectangle Tool

Создаем ключевой кадр

Создаем направляющую через контекстное меню

Должно получиться два таких слоя:

два слоя на анимационной панели timeline

рисуем направляющую инструментом Pencil Tool

Размещаем объект для создания анимации движения

Тоже самое нужно проделать для пятидесятого кадра, возьмите объект и разместите его на правом крае линии.

создаем промежуточные кадры через контекстное меню Create Classic Tween

В итоге мы должны получить два таких слоя:

два слоя с промежуточными кадрами на панели анимации

Запускаем анимацию движения объекта

устанавливаем в свойствах объекта Orient to path

Выберите пятидесятый кадр на слое, где расположен объект, и также как в первом кадре немного поверните его.

Чтобы посмотреть, что получилось, нажмите ctrl+enter.

Читайте также: