Создание svg анимации в adobe animate

Обновлено: 06.07.2024

Вы можете считать Масштабируемую Векторную Графику (Scalable Vector Graphics — SVG) отзывчивой графикой. SVG основан на формате XML, который позволяет создавать изображение, используя определённые теги и атрибуты. Ваш код сгенерирует изображение, которое можно изменять прямо в текстовом редакторе.

Флаг Японии сделанный с помощью SVG

Это пример SVG. Если посмотреть на его исходный код, то можно заметить, что он состоит из тегов и атрибутов так же, как и в HTML-документе. Все они находятся внутри тега <svg> . Здесь есть тег <rect> , рисующий прямоугольник с чёрной рамкой и белым цветом фона. И внутри него эллипс (почти что круг, но обратите внимание на атрибуты <ry> и <rx> ), который залит красным цветом.

SVG в вебе можно использовать двумя способами. Например, использовать SVG-файлы в атрибуте src тега <img> . То есть мы получим <img src="japan.svg"> — точно так же, как с PNG или JPEG-изображениями.

Но более интересное использование заключается в том, что мы можем вставлять SVG напрямую в <div> внутрь HTML-кода. Мы можем стилизовать эти блоки (или даже группы таких блоков) как захотим. Можем использовать CSS, анимацию или даже добавить интерактивности с помощью JavaScript. Это то, что прямо сейчас делает SVG одним из самых универсальных и крутых элементов в HTML.

SVG бесконечно масштабируем, отзывчив, имеет очень маленький размер файла, перспективен для следующего поколения экранов с неисчислимой плотностью пикселей и может быть стилизован, анимирован и оживлён при помощи известных веб-технологий — CSS и JavaScript.

Все эти вещи ранее были возможны только с использованием Flash, для которого требовался flash-плеер и много сложной работы. К тому же сейчас никто не любит использовать Flash.

Векторные картинки против растровых

Растровые картинки состоят из пикселей, создающих целостное изображение. JPEG, GIF и PNG — самые распространённые типы растровых изображений.

Растровые изображения состоят из фиксированного числа пикселей, поэтому изменение размера картинки невозможно без влияния на её качество. Вы наверняка замечали, что изменение размера таких изображений делает их зернистыми и размытыми. Всё это происходит из-за фиксированного количества пикселей.

Вот что происходит при увеличении растрового изображения:

Что происходит при увеличении растрового изображения

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

Один из самых распространённых вариантов использования векторных изображений — это иконки и анимация маленьких иконок. Они всегда будут чёткими даже на дисплеях с самой высокой плотностью пикселей, таких как новые 4K смартфоны.

Вот что происходит при увеличении векторного изображения:

Что происходит при увеличении векторного изображения

SVG-теги

Тег <svg> внедряет SVG-документ внутрь текущего документа, например, HTML. Тег имеет свои координаты X и Y, высоту и ширину, и свой уникальный id.

Вот как он может выглядеть:

Тег <g> группирует элементы вместе и ведёт себя как контейнер для связанных графических элементов. Элемент <g> также может содержать в себе другие элементы <g> , которые будут вложены в него.

Вот пример тега <g> :

Элемент <rect> представляет собой базовую фигуру SVG — прямоугольник. Он может иметь различные атрибуты, такие как координаты, высота, ширина, цвет заливки, цвет обводки и острые или закруглённые углы.

Вот пример тега <rect> :

Элемент <use> позволяет клонировать и повторно использовать графические элементы SVG, в том числе такие элементы, как <g> , <rect> , а также другие <use> элементы.

Вот пример тега <use> :

Элемент <path> определяет путь, состоящий из координат точек для формирования фигуры. Код с использованием <path> может казаться магией, но не пугайтесь! В примере ниже код можно прочесть как:

  1. «M150 0» — переместись на (150,0);
  2. «L75 200» — нарисуй линию к (75,200) от предыдущей точки (которая имела координаты (150,0));
  3. «L255 200» — нарисуй линию к (225,200) от предыдущей точки (которая имела координаты (75,200));
  4. «Z» — закрой путь (нарисуй линию к начальной точке).

Вам, скорее всего, не потребуется учить этот код, так как он может быть сгенерирован любым SVG-редактором, но будет здорово, если вы будете его понимать.

Вот пример тега <path> :

<symbol>

И, наконец, элемент <symbol> определяет символы, которые могут быть использованы повторно. Эти символы отрисовываются только при помощи тега <use> .

Вот пример тега <symbol> :

Создаём SVG

Есть множество доступных SVG-редакторов, например, Adobe Illustrator или Inkscape. Последний бесплатен и с открытым исходным кодом. Поскольку SVG-файлы это XML-код, то в крайнем случае вы можете написать его вручную.

Для этого примера я буду использовать простой онлайн-редактор. В нём вы можете создавать SVG без необходимости устанавливать что-либо ещё.

  1. Для начала создадим круг.
  2. Затем добавим больше кругов и сохраним исходный код.

CSS3-анимация

SVG может быть анимирован с помощью добавления атрибута id или class SVG-тегам, и последующей стилизации их в CSS. Так же, как и любой другой документ. Ниже приведён пример того, как может быть анимирован SVG.

CSS-анимация предлагает множество типов анимации, которые вы можете выбрать. Линейная анимация — это ещё один крутой атрибут SVG.

Для следующего примера я написала текст «Hi, I am Surbhi», используя инструмент «Pen» в редакторе. Затем я использовала ключевые кадры из CSS3 для создания анимации.

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

Анимационный тег <animate>

Внимание! Декларативная анимация в формате SMIL с помощью тегов <animate> не рекомендуется к использованию и, вероятно, будет удалена из браузеров в будущем (прим. редактора, 28 ноября 2019).

<animate> — это тег для создания анимации, встроенный в сам SVG. Он определяет, как атрибуты элементов изменяются от начальных до конечных значений в процессе указанной анимации. Это используется для анимации свойств, которые не могут быть анимированы с помощью CSS.

Основные элементы, которые анимируются этим тегом: цвет, движение и трансформация.

Тег <animate> вкладывается внутрь тега объекта, который должен быть анимирован. Он не работает для путей, состоящих из координат, а только внутри тегов, создающих объекты. Обратите внимание на атрибут additive . Он показывает, что анимации не переопределяют друг друга, а вместо этого работают одновременно.

Вот пример анимации SVG с помощью тега <animate> :

Анимация и интерактивность, основанная на JavaScript

Поскольку SVG — это просто документ с тегами, то мы можем использовать JavaScript для взаимодействия с отдельными элементами SVG, получая их при помощи селекторов ( id или class ).

Помимо стандартного JavaScript, есть множество JS-библиотек для анимации и взаимодействий с SVG: Vivus.js, Snap.svg, RaphaelJS и Velocity.js.

В следующем примере я использовала библиотеку Vivus.js вместе с jQuery, чтобы получить анимацию линий:

Почему нельзя использовать SVG для всех изображений?

SVG больше всего подходит для изображений, которые могут быть построены с помощью нескольких геометрических фигур и формул. Хотя, в принципе, вы можете конвертировать ваши фотографии в SVG, но размер изображения будет несколько мегабайт, что нарушит цель SVG — экономить место. SVG лучше использовать для иконок, логотипов и небольшой анимации.

Scalable Vector Graphics (SVG) is an XML markup language for describing two-dimensional images. SVG files provide resolution independent, HiDPI graphics on the web, in print, and on mobile devices in a compact format. You can style an SVG with CSS, and the support of scripting and animation makes SVG an integral part of the web platform.

Some common image formats of the web, such as GIF, JPEG, and PNG, are bulky and are usually of low resolution. The SVG format offers a lot more value by allowing you to describe images in terms of vector shapes, text, and filter-effects. SVG files are compact and provide high-quality graphics on the web and on handheld devices that have resource constraints, as well. You can magnify the view of an SVG image on‑screen without compromising on sharpness, detail, or clarity. In addition, SVG provides superior support for text and colors, which ensures that you will see images as they appear on Stage. The SVG format is entirely XML-based and offers many advantages to developers and other users alike.

Now, you can export SVG files from Animate without any unwanted definitions and ids being created along with it. The composition in SVG is enhanced in Animate 19.1 release. This export option will enhance the quality of SVGs that are being imported in Character Animator.

The export SVG workflow in Animate

Animate allows you to export to SVG format, version 1.1. You can create visually rich artwork using powerful design tools available within Animate, and then, export to SVG.

In Animate, you can export selected frames and keyframes of an animation. And, because the exported artwork is Vector, the resolution of the image is high even on scaling to different sizes.

The SVG export feature replaces the erstwhile FXG export (dropped from Animate (June, 2013)). You will find that performance of SVG export feature and the quality of the output is far superior. Also, in comparison to FXG, loss of content is minimal in SVG.

Artwork with Filter effects

With SVG, filter effects may not appear exactly the same as in Animate, since there is no one-to-one mapping between filters available in Animate and SVG. However, Animate leverages combinations of different primitive filters available within SVG to simulate a similar effect.

Handling multiple symbols

The SVG export handles multiple symbols seamlessly, without any loss of content. The output closely resembles the artwork on Stage within Animate.

Exporting artwork in SVG format

  1. In Animate, scrub or move the playhead to the appropriate frame.
  2. Select File > Export > Export Image . or select File > Publish Settings (select the SVG Image option in the Other Formats section.)
  3. Enter or browse to the location where you want to save the SVG file. Ensure that you select SVG as the Save As type.
  4. Click Ok .
  5. On the Export SVG dialog, choose to Embed or Link to your SVG file.
    • Include Hidden Layers Exports all hidden layers in the Animate document. Deselecting Export Hidden Layers prevents all layers (including layers nested inside movie clips) marked as hidden from being exported in the resulting SVG. This lets you easily test different versions of Animate documents by making layers invisible.
    • Embed: Embeds a bitmap in the SVG file. Use this option to if you want to directly embed bitmaps within the SVG file.
    • Link: Provides a link to the path of bitmap files. Use this option when you do not want to embed, but provide link to the bitmaps from the SVG file. If you select Copy Images to Folder option, the bitmaps will be saved inside the images folder created at the location where the SVG file is exported. When Copy Images to Folder option is not selected, the bitmaps will be referenced in the SVG file from their original source location. In case the bitmap source location is unavailable then they will be embedded inside the svg file.
    • Copy Images to /Images folder: Allows you to copy the bitmap to the /Images. The /Images folder, if it does not already exist, is created in the export location of the SVG.
    • Optimize for Character Animator: Allows you to export SVG that works well with Character Animator.

SVG_Optimize

Some Animate features are not supported by SVG format. Content created using these features are either removed or defaulted to a supported feature when exporting. For more information, see this article.

Alternatively, you could also use the Publish Settings dialog to export SVG files from within Animate ( File > Publish Settings ). Select the SVG option from the Other formats section to export SVG files.

It is recommended that you view SVG on modern browsers with latest updates only. This is because, some graphic filters and color effects may not render correctly on older versions of browsers such as Internet Explorer 9.

Interchanging SVG files with Adobe Illustrator

Animate enables interchanging of content with Adobe Illustrator. This workflow is a replacement for the FXG Export feature that was dropped with Animate (13.0). You can export SVG files from within Animate, and import them within Adobe Illustrator. For more information about using SVG files within Adobe Illustrator, see this Help Topic.

Use this workflow if you want to make granular edits to your artwork and add enriching detail. You may also use Illustrator to add effects, such as drop shadow, to the artwork.

To edit SVG files within Adobe Illustrator and use the edited content within Animate, do the following:

Создайте лист спрайтов или атлас текстур и экспортируйте свои анимации для мобильных приложений и игровых платформ. Импортируйте атлас текстур в Unity или на любую другую игровую платформу с помощью подключаемого модуля.

Animate позволяет создавать анимации на основе листа спрайтов или атласа текстур и экспортировать их для мобильных приложений и игровых платформ.

Лист спрайтов

Лист спрайтов — это файл растрового изображения, содержащий меньшие изображения, упорядоченные в виде «плитки». Компиляция нескольких графических объектов в один файл позволяет использовать графику в Animate и других приложениях, загружая только один файл. Это повышает эффективность загрузки изображений, что полезно в случае повышенных требований к производительности, например при разработке игр.

Лист спрайтов

Лист спрайтов, содержащий спрайты покадровой анимации.

Листы спрайтов можно создать из любого выбранного набора роликов, символов кнопок, графических символов или растровых изображений. Элементы можно выбирать на панели «Библиотека» или в рабочей области (нельзя выбирать элементы из этих двух источников одновременно). Каждое растровое изображение и каждый кадр выбранных символов отображаются на листе спрайтов как отдельные графические объекты. Если выполняется экспорт из рабочей области, любые преобразования (масштабирование, сдвиг и т. д.), примененные к экземпляру символа, сохраняются в выходном изображении.

Атлас текстур

Атлас текстур — это коллекция текстур в виде одного большого изображения или нескольких изображений требуемого размера. Можно оптимизировать игру, создав атлас текстур и используя его в игровом приложении.

В Animate можно создать атлас текстуры из символов, таких как фрагменты роликов, графические объекты или кнопки. Элементы можно выбирать на панели «Библиотека» или в рабочей области (нельзя выбирать элементы из этих двух источников одновременно). Каждое векторное изображение и каждый ключевой кадр выбранных символов отображается как отдельное растровое изображение в атласе текстур. При экспорте объектов рабочей области все преобразования (масштабирование, сдвиг и т. д.), примененные к экземпляру символа, сохраняются в выходном изображении.

Различие между листом спрайтов и атласом текстур

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

Производительность в мобильных приложениях

Эффективность загрузки приложения

Высокая, так как отсутствуют вычисления

Низкая, так как выполняется вычисление файла JSON

Занимает больше места

Занимает меньше места

Количество создаваемых файлов

Два файла: один файл растрового изображения и один файл json

Переменная: на основе размера изображения.

Количество создаваемых растровых изображений

В зависимости от количества кадров, используемых в листе спрайтов, также может увеличиваться количество растровых файлов, что приводит к увеличению размера листа спрайтов

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

Чтобы создать лист спрайтов, выполните следующие действия.

Выделите один или несколько символов в библиотеке или экземпляры символов в рабочей области. Выделение также может содержать растровые изображения.

Щелкните выделенные объекты правой кнопкой мыши и выберите пункт «Создать лист спрайта».


В диалоговом окне Создать лист спрайта выберите необходимые параметры и нажмите Экспорт .

Общий размер листа спрайтов в пикселях. Значение по умолчанию («Автоматический размер») позволяет вместить все включаемые спрайты.

Отступы от краев листа спрайтов (в пикселях).

Отступы в пикселях между изображениями на листе спрайтов

Способ размещения изображений на листе спрайтов. Этот параметр может принимать два значения:

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

Поворот спрайтов на 90 градусов. Данная настройка доступна только для некоторых форматов данных.

Данная настройка обеспечивает экономию места на листе спрайтов за счет обрезания неиспользуемых пикселей каждого символьного кадра, добавляемого на лист.

Выбор этой настройки исключает дублирование повторяющихся кадров выбранных символов на результирующем листе спрайтов.

Экспорт анимации на основе листа спрайтов для мобильных приложений

Train Simple - Matthew Pizzi

Разработчики игр могут использовать Animate для управления анимированными объектами и их экспорта в Unity или на любые другие часто используемые игровые платформы в виде атласа текстур.

Процесс генерирования атласа текстур в Animate и его импорта в Unity представлен на следующей схеме.


Иллюстрация технологического процесса создания атласа текстур и его импорта в Unity.

Для создания атласа текстур анимации выполните следующие действия.

В Animate можно создать атлас текстур для выбранного символа в Библиотеке или для экземпляра символа в рабочей области.

Щелкните этот символ правой кнопкой мыши и выберите в меню Создать атлас текстур . Откроется окно Создание атласа текстур .


Создание атласа текстур

Выберите параметры экспорта для атласа текстур.

  • Когда установлен флажок «Оптимизировать размеры», удаляются пустые пиксели из растрового изображения, а размеры не являются степенью числа два. Это применимо ко всем генерируемым растровым изображениям.
  • Когда флажок «Оптимизировать размеры» снят, растровое изображение генерируется на основе выбранных размеров.

Способ размещения изображений в атласе текстур. Этот параметр может принимать два значения:

  • Основные
  • MaxRects (по умолчанию)
  • Когда установлен флажок «Оптимизировать файл Animation.json», то удаляются отступы и разложенная матрица, а также сокращаются используемые имена (по умолчанию).
  • Когда флажок «Оптимизировать файл Animation.json» не установлен, то при экспорте сохраняются отступы и значимые имена.

Можно выбрать вариант экспорта символа в несколько растровых изображений в зависимости от размера.


Создание атласа текстур для нескольких растровых изображений

Если размер ресурса больше выбранного измерения изображения, появляется предупреждение.

Чтобы просмотреть конечный результат, откройте вкладку Просмотр .


Предварительный просмотр атласа текстур после его создания

Созданная папка вывода для атласа текстур содержит следующие файлы.

Animation.json

Этот файл содержит сведения об анимации. Идентичные кадры по умолчанию оптимизируются и консолидируются в файле Animation.json.

spritemap.json

Этот файл содержит сведения о файле spritesheet.jpg .

spritemap.jpg

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

Созданный атлас текстур можно будет использовать с любой игровой платформой, например Unity. Для обеспечения совместимости импортируемых данных потребуется соответствующий подключаемый модуль.

Импорт атласа текстур в Unity

Можно импортировать созданные в Animate файлы атласов текстур в избранные игровые платформы. Чтобы импортировать файлы атласов текстур, создайте подключаемые модули для соответствующих игровых платформ. В этот выпуск включен образец подключаемого модуля импорта для инструмента Unity.

Импортируйте атлас текстур в Unity, выполнив следующие действия.

Создайте проект в Unity, выбрав для него путь размещения. В указанном местоположении будет создана папка с вложенной папкой Активы .

Создайте две вложенные папки в разделе Активы как Ресурсы и Редактор .

Щелкните здесь, чтобы загрузить образец подключаемого модуля для импорта для Unity. Выберите Подключаемый модуль Unity с вкладки Загрузки и укажите номер версии, который требуется загрузить.

Архив unity-plugin.zip состоит из файлов Plugin.cs , WrapperPlugin.cs , AnimateEditor.cs и Effect.shader .

Загружая образец, вы принимаете Условия использования и Политику конфиденциальности в сети Интернет.

Переместите файлы атласа текстур, такие как Animation.json, spritemap.json, spritemap.jpg, и файлы подключаемого модуля Unity, например Plugin.cs и Effect.shader, в папку Активы > Ресурсы .

Переместите файлы AnimateEditor.cs и W rapperPlugin.cs в папку Активы .

В Unity выберите файл AnimateEditor.cs и перетащите его в область главной камеры .

Воспроизведите проект. Воспроизведение проекта приводит к разделению карты спрайтов на разные спрайты.

Переместите файл AnimateEditor.cs в в редактор .

В Unity выберите файл WrapperPlugin.cs и перетащите его в область Главная камера . Кроме того, отмените выбор или удалите файл AnimateEditor.cs из области главной камеры .

Воспроизведите или опубликуйте результаты в зависимости от потребностей.

Можно даже настроить подключаемый модуль, изменив файл WrapperPlugin.cs в соответствии с потребностями.

Подключаемый модуль Unity поддерживает цветовые эффекты для созданных в Animate файлов атласа текстур. Кроме того, подключаемый модуль поддерживает маскирование с помощью слоев. Функция маскирования применяется только начиная с выпуска Unity 2017.

Аниматоры могут создавать и экспортировать контент в векторном формате или использовать растровый формат для платформ HTML 5. Для более высокой производительности при работе с анимациями в параметры публикации добавлена возможность их экспорта в качестве атласа текстур.

1. Создайте документ Canvas. Выберите пункт меню Файл > Создать для вывода окна «Новый документ».

2. Щелкните вкладку Дополнительно в верхней части экрана и выберите параметр HTML5 Canvas. Откроется новый FLA-документ.

3. Щелкните Файл > Параметры публикации.Если установлен флажок Экспортировать документ как текстуру на вкладке «Основные», то на вкладке Параметры изображения появятся параметры публикации текстур. По умолчанию в публикацию текстур включены все символы. Чтобы выбрать отдельные символы, щелкните значок параметров рядом.

Хотя этот параметр может увеличить размер ресурсов, он повышает производительность. Кроме того, вы можете увеличить разрешение изображений в два или три раза от исходного для дисплеев HiDPI. Чтобы изменить параметры разрешения, щелкните значок гаечного ключа рядом с функцией Экспортировать документ как текстуру, как показано на снимке экрана ниже. Измените значение параметра «Разрешение», чтобы увеличить его в 2 или 3 раза.

По умолчанию при публикации текстур задается в 2 раза большее разрешение. Кроме того, диапазон для разрешения можно менять от 0,3 до 3.

Публикация текстур применима только к типу документа HTML5 Canvas.

Параметр «Экспортировать документ как текстуру» включен

Параметр «Экспортировать документ как текстуру» включен

Выбор между векторным или растровым файлом напоминает выбор между размером файла и производительностью. Платформы HTML5 оптимизированы для растрового контента. Таким образом, для сложных фигур лучше предварительно преобразовать векторные изображения в растровые. Для части базового контента все еще можно использовать векторный контент. Эта функция в Animate доступна в диалоговом окне «Частичный выбор символов». Частичный выбор символов позволяет выбрать символы, которые следует преобразовать в растровый контент, а остальные сохранить как векторные объекты.

Чтобы открыть раздел «Частичный выбор символов», щелкните Изменить в диалоговом окне Параметры публикации и выберите символ в списке. По умолчанию выбраны все символы.

Открытие окна «Частичный выбор символов».

Открытие окна «Частичный выбор символов».



Описание моего опыта переезда с Flash на Animate CC и создания баннеров во всемогущем формате HTML5. Много картинок под катом

Немного исторического экскурса и терминов

Лично я сам знаком с Flash гораздо больше 10 лет и немного представляю, как работает эта технология «изнутри».

Примерно столько же лет я верстаю сайты, в том числе на «современном» языке HTML5, который, как говорят, умеет всё. Нет, реально, иногда упоротые дизайнеры присылали такие интерфейсы, которых в природе не существовало, их нужно было выдумать, прикрываясь фразой «на HTML5 же можно написать всё!».

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

За последние 5 лет flash не пинал только ленивый, причем, не особо разбираясь в вопросе. Лично я никогда не видел ни тормозов, ни дырявости, а уж про самое первое утверждение от Стива Джобса про то, что «Flash не заточен под палец» — это и вовсе смешно. Самая очевидная причина противостояния Apple против флеша на айфонах лежит на поверхности, но сейчас не об этом.

Приближаемся к развязке терминологии. HTML — это язык разметки текста и расположения элементов на странице. Он не умеет выполнять никакие действия сам по себе. Под «новшествами HTML5» вместо Flash обычно понимают: проигрывание видео без Flash, анимации без Flash, мультизагрузка файлов без Flash и некоторые другие вещи.

Несмотря на дифирамбы, звучащие отовсюду, до сих пор не появилось ни одного вменяемого редактора анимации на «всемогущем» HTML5, пока Adobe не перелицевала Flash CC в Animate CC, добавив, по сути, только экспорт в HTML5.

Интерфейс

Сам интерфейс Animate CC вообще не отличается от Flash, в отличие от Edge Animate, который был дико непривычен. Больше сказать особо нечего, и я вообще не заметил разницы с CS6, которым я пользовался давно. Для баннеров не нужен AS3, а это была последняя версия, поддерживающая AS2. Конвертер Swiffy, который сделала Google, дружил только с AS2.

* AS2,3 — встроенный во Flash язык программирования Action Script, который позволяет делать всю неанимационную составляющую ролика — чтобы кнопки нажимались, чтобы на нужных кадрах ролик вставал на паузу, для того, чтобы информацию могли прочитать, чтобы запускались интерактивные сценарии взаимодействия с роликом. На самом деле, это достаточно мощный язык, и я использую лишь 0,000001% его функционала.

Движок отрисовки

Естественно, сами по себе объекты внутри ролика двигаться не могут, для этого нужно, чтобы их двигал, показывал и скрывал какой-то движок. В Animate CC для проектов формата HTML5 Canvas используется CreateJS, который приветствует каждый новый проект замечательным предупреждением

ПРЕДУПРЕЖДЕНИЯ:
Номера кадров в EaselJS начинаются с 0, а не с 1. В частности, это влияет на методы gotoAndStop и gotoAndPlay.

Приятно, что хоть предупредили. Видимо, это нереальная задача — отнимать по единичке от того кадра, на который нужно перейти.

Таймлайн и рабочая область

Т.к. интерфейс не претерпел никаких изменений для меня все здесь абсолютно стандартно. Разницы нет. Так как система настроена на русский язык, скачалась русская версия пакета. Меня это не особо беспокоит, потому что я пользуюсь хоткеями, хотя, иногда зависаю на том, что нужно выбрать в меню.


Теперь перейдем к тому, чем я постоянно пользуюсь:

Стандартные фильтры во Flash

Фильтры — одна из весьма частых составляющих любых баннеров, они позволяют очень быстро добиться нужного результата. Я рассмотрю 3 фильтра, которыми я раньше пользовался крайне часто. Во флеше фильтры — часть стандарта, и на моих работах они не оказывали какого-либо влияния на производительность, да и не могли в-принципе. Здесь и далее я буду использовать экспорт в GIF для понимания разницы

Тень — один из самых простых вариантов сделать части баннера объемнее и акцентировать внимание на нужных блоках. Естественно, я взял чрезмерно сильную тень, чтобы проиллюстрировать разницу
Сравниваю:

Flash CreateJS


Да, анимация тени невозможна. Более того, если ролик длиннее того, что я представил для теста, тень превращается в неизвестно что.
Здесь также стоит упомянуть, что в редакторе и готовом html5 тени (да и вообще все эффекты) выглядят сильно разными.
Редактор Результат



При экспорте в трейсе можно увидеть такую надпись:
Фильтры тени и свечения используют очень много системных ресурсов, кроме того, поддерживаются не все параметры. (4)
Ну спасибо, что хоть предупредили…

Производительность баннера с тенями оставляет желать лучшего, ну они же предупреждали. Стерев тени с этих подложек, я сократил нагрузку до 40%. Флеш все это рисовал с 23% загрузки вместе с тенями, разумеется


Свечение

Один из самых простых способов выделить текст на пестром фоне — добавить ему обводку, это просто делается с помощью свечения с большим процентом интенсивности.

Flash CreateJS



В это самое время в редакторе все так же, «Видимость ноль, иду по приборам»:


Есть один возможный вариант решения данной проблемы, если нужно — я им поделюсь, подложки под буквы используются крайне часто и без них просто не жить.

Помимо этого, свечение — это не только обводка букв, но результат намекает, что его не будет

Flash CreateJS В редакторе

Размытие

Без комментариев. Размытие доступно только для статичных объектов, так что использовать этот фильтр для появления текстов невозможно

Flash CreateJS

Как вышеперечисленные глюки могут существовать при повсеместном проникновении тех же самых SVG-фильтров и фильтров в CSS — я не представляю.

Проблемы экспорта и упаковки

Все привыкли к тому, что ролик во флеше — это самодостаточный файл. Экспорт в HTML5 порождает кучку файлов, вместо одного. Проект Swiffy, придуманный Google для конвертации SWF в HTML паковал всё внутрь одного HTML-файла. Видимо, такая задача оказалась непосильной ношей для создателей Animate CC. Подробную статью по поводу засовывания «всего» внутрь одного файла для Doubleclick можно прочесть здесь. Я сделал свой конвертер на лету, сгородив конструкцию из пары функций на php, но она далека не то, что до идеала — даже до черновика. Мои задачи решает — и ладно.

Резиновые баннеры

По умолчанию Animate вроде как поддерживает «резиновость» баннеров, но обычно под резиновыми баннерами имеются в виду те, которые тянутся по горизонтали, а не пропорционально по обоим осям. В шаблоне экспорта это называется responsive scaling, и в случае с баннерами, тянущимися только по оси X это приводило к забавным глюкам, пока я его не вырезал из шаблона


Вообще, можно вообще отказаться от идеи растягивания баннера, просто взять максимальный размер баннерного места, а ширину ролика указать равную минимальному размеру баннерного места и обрезать часть с помощью overflow: hidden, потом центрировать элемент CANVAS (указав его ширину равной максимальному размеру баннерного места) по горизонтали внутри ссылки, занимающей 100% ширины, здесь даже немного проще, чем было во FLASH и не требует никаких дополнительных скриптов внутри ролика, только css.

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