Пользователь вводит информацию в SWF-файл.
- Руководство пользователя Adobe Animate
- Введение в Animate
- Анимация
- Основы анимации в Animate
- Кадры и ключевые кадры в Animate
- Покадровая анимация в Animate
- Работа с классической анимацией движения в Animate
- Инструмент «Кисть»
- Руководство по движению
- Анимация движения и язык ActionScript 3.0
- Сведения об анимации движения
- Анимация движения
- Создание анимации движения
- Использование ключевых кадров свойств
- Положения в анимации движения
- Использование Редактора движения для анимаций
- Редактирование траектории анимации движения
- Управление анимациями движения
- Настраиваемое ускорение и замедление
- Создание и применение стилей движения
- Настройка диапазонов анимации движения
- Сохранение анимации движения в файлах XML
- Анимация движения и классическая анимация
- Анимация формы
- Анимация с использованием инструмента «Кость» в Animate
- Работа с риггингом персонажей в Animate
- Слои-маски в Adobe Animate
- Работа со сценами в Animate
- Интерактивность
- Создание кнопок в Animate
- Преобразование проектов Animate в другие форматы документов
- Создание и публикация документов HTML5 Canvas в Animate
- Добавление интерактивных возможностей с помощью фрагментов кода в Animate
- Создание пользовательских компонентов HTML5
- Использование компонентов в HTML5 Canvas
- Создание пользовательских компонентов: примеры
- Фрагменты кода для пользовательских компонентов
- Рекомендации: реклама в Animate
- Разработка и публикация контента для виртуальной реальности
- Рабочая среда и рабочий процесс
- Создание и использование малярных кистей
- Использование шрифтов Google в документах HTML5 Canvas
- Использование библиотек Creative Cloud Libraries и Adobe Animate
- Использование рабочей области и панели «Инструменты» в Animate
- Рабочие процессы и рабочая среда Animate
- Использование веб-шрифтов в документах HTML5 Canvas
- Временные шкалы и ActionScript
- Работа с несколькими временными шкалами
- Задание настроек
- Использование панелей разработки Animate
- Создание слоев временной шкалы в Animate
- Экспорт анимаций для мобильных приложений и игровых платформ
- Перемещение и копирование объектов
- Шаблоны
- Поиск и замена в Animate
- Отмена/повтор действий и панель «История»
- Сочетания клавиш
- Использование временной шкалы в Animate
- Создание HTML-расширений
- Параметры оптимизации изображений и GIF-анимаций
- Настройки экспорта для изображений и GIF
- Панель «Ресурсы» в Animate
- Мультимедиа и видео
- Преобразование и объединение графических объектов в Animate
- Создание экземпляров символов и работа с ними в Animate
- Трассировка изображения
- Использование звука в Adobe Animate
- Экспорт SVG-файлов
- Создание видеофайлов для использования в Animate
- Добавление видео в Animate
- Рисование и создание объектов в Animate
- Изменение линий и фигур
- Обводки, заливки и градиенты в Animate CC
- Работа с Adobe Premiere Pro и After Effects
- Панели «Цвет» в Animate CC
- Открытие файлов Flash CS6 в Animate
- Работа с классическим текстом в Animate
- Размещение иллюстраций в Animate
- Импортированные растровые изображения в Animate
- Трехмерная графика
- Работа с символами в Animate
- Рисование линий и фигур в Adobe Animate
- Работа с библиотеками в Animate
- Экспорт звуков
- Выделение объектов в Animate CC
- Работа с AI-файлами Illustrator в Animate
- Применение режимов наложения
- Упорядочивание объектов
- Автоматизация задач с помощью меню «Команды»
- Многоязычный текст
- Использование камеры в Animate
- Графические фильтры
- Звук и ActionScript
- Настройки рисования
- Рисование инструментом «Перо»
- Платформы
- Преобразование проектов Animate в другие форматы документов
- Поддержка специализированных платформ
- Создание и публикация документов HTML5 Canvas в Animate
- Создание и публикация документа WebGL
- Упаковка приложений AIR for iOS
- Публикация приложений AIR for Android
- Публикация для Adobe AIR на настольных ПК
- Параметры публикации ActionScript
- Рекомендации: размещение ActionScript в приложении
- Использование ActionScript в Animate
- Специальные возможности в среде Animate
- Создание и использование сценариев
- Обеспечение поддержки специализированных платформ
- Общие сведения о поддержке специализированных платформ
- Работа с плагинами поддержки специализированных платформ
- Отладка сценариев ActionScript 3.0
- Обеспечение поддержки специализированных платформ
- Экспорт и публикация
- Экспорт файлов из Animate CC
- Публикация OAM
- Экспорт SVG-файлов
- Экспорт графики и видео из Animate
- Публикация документов AS3
- Экспорт анимаций для мобильных приложений и игровых платформ
- Экспорт звуков
- Рекомендации: советы по созданию контента для мобильных устройств
- Рекомендации: правила работы с видео
- Рекомендации: руководство по созданию SWF-приложений
- Рекомендации: формирование структуры FLA-файлов
- Рекомендации: оптимизация FLA-файлов для Animate
- Параметры публикации ActionScript
- Задание параметров публикации для Animate
- Экспорт файлов-проекторов
- Экспорт изображений и анимированных файлов GIF
- Шаблоны публикации HTML
- Работа с Adobe Premiere Pro и After Effects
- Быстрая публикация анимаций
- Устранение неполадок
О руководстве по созданию SWF-приложений
Оптимальный способ создания приложения Animate зависит от типа приложения и используемых технологий.
Веб-приложение обеспечивает интерактивное взаимодействие пользователя с веб-сайтом. Например, приложение может собирать информацию о пользователе (например, имя пользователя и пароль для регистрации), добавлять информацию на сайт (например, в форум) или предоставлять пользователю возможность интерактивного общения в реальном времени с другими посетителями сайта (например, в разговорных комнатах или через интерактивные доски объявлений). Результаты с сервера часто возвращаются в виде SWF-файлов в зависимости от типа взаимодействия. Ниже приведены примеры приложений, которые поддерживают различные виды интерактивного взаимодействия пользователя с сервером. Веб-сайт, на котором не используется информация о посетителе или данные, не является приложением (примерами могут служить портфолио, мультипликационный сайт или статический информационный сайт). Приложения Animate поддерживают интерактивное взаимодействие пользователя с веб-приложением и сервером. Базовый процесс выглядит следующим образом:
-
-
Информация преобразуется в данные.
-
Данные форматируются и отправляются на веб-сервер.
-
Веб-сервер собирает данные и отправляет на сервер приложений (например, ColdFusion, PHP или ASP).
-
Данные обрабатываются и отправляются обратно на веб-сервер.
-
Веб-сервер отправляет результаты в SWF-файл.
-
SWF-файл получает отформатированные данные.
-
Сценарий ActionScript обрабатывает данные для использования в приложении.
При создании приложения необходимо выбрать протокол передачи данных. Протокол оповещает приложение об отправке или получении данных, формате передачи и результатах обработки ответа сервера. После получения данных SWF-файлом необходимо выполнить их обработку и форматирование. При использовании протокола данные всегда имеют поддерживаемый формат. При передаче данных в виде пар «имя-значение» можно проверить тип их форматирования. Проверьте правильность форматирования данных, чтобы исключить получение данных в формате XML и сообщить SWF-файлу тип данных и способ работы с ними.
Сбор и форматирование данных
Работа приложений зависит от того, как пользователь взаимодействует с SWF-файлом. Часто при этом пользователь вводит данные в формы. Animate поддерживает много различных способов ввода и форматирования данных в приложениях Animate. Эту гибкость обеспечивают возможности анимации и креативного управления интерфейсом, а также проверка на наличие ошибок, которую можно выполнять с помощью сценариев ActionScript.
Ниже приведены создания форм для сбора данных с помощью Animate:
Расширенное управление оформлением.
Почти полное или полное отсутствие необходимости обновлять страницы.
Повторное использование общих ресурсов.
Полученную от пользователя информацию следует сохранять в виде общего объекта на компьютере пользователя. Общие объекты позволяют хранить данные на компьютере пользователя аналогично cookie-файлам. Дополнительные сведения об общих объектах см. в разделе о классе sharedObject в руководстве «Справочник ActionScript® 2.0 для Adobe® Flash® Professional CS5» или «Справочник ActionScript® 3.0 для Adobe® Flash® Professional CS5».
Отправка и обработка данных
Обычно перед отправкой на сервер информацию необходимо обработать, то есть преобразовать в формат, распознаваемый сервером. После получения данных сервер может обработать их самыми разнообразными способами и отправить обратно в SWF-файл в приемлемом для него формате — от пар «имя-значение» до сложных объектов.
Тип MIME выходных данных сервера приложений должен иметь значение application/x-www-urlform-encoded. Если этот тип MIME отсутствует, то полученные данные обычно невозможно использовать в Animate.
В следующей таблице перечислены некоторые параметры отправки данных на сервер и получения их с помощью Animate:
Отправка данных |
Описание |
LoadVars.send и LoadVars.sendAndLoad |
Отправка пар «имя-значение» серверному сценарию для обработки. LoadVars.send отправляет переменные удаленному сценарию и игнорирует любой ответ. LoadVar.sendAndLoad отправляет на сервер пары «имя-значение» и загружает или анализирует ответ в целевом объекте LoadVars. |
XML.send и XML.sendAndLoad |
Аналогично LoadVars, но методы XML.send и XML.sendAndLoad отправляют вместо пар «имя-значение» XML-пакеты. |
getURL |
С помощью функции getURL() или метода MovieClip.getURL можно отправлять переменные из Animate в кадр или всплывающее окно. |
Remoting |
Упрощает обмен сложной информацией между Animate, ColdFusion, ASP.NET, Java и др. Кроме того, Animate Remoting можно использовать для работы с веб-службами. |
Веб-службы |
В составе Adobe Animate Professional есть компонент WebServiceConnector, который позволяет подключаться к удаленным веб-службам, отправлять и получать данные и связывать результаты с компонентами. Это позволяет разработчикам Animate без труда создавать многофункциональные интернет-приложения без единой строчки кода ActionScript. Использовать удаленные веб-службы можно с помощью компонента WebServiceClasses, но для этого требуется создавать сложные сценарии ActionScript. |
Добавление функций загрузки и проверки данных
Перед отправкой данных на сервер необходимо проверять любую полученную информацию. Это уменьшит нагрузку на удаленный сервер, поскольку, когда пользователи не будут заполнять обязательные для заполнения поля, ему не придется обрабатывать столько же запросов. Никогда не полагайтесь только на клиентскую проверку в каком бы то ни было приложении. Необходимо также выполнять проверку на сервере.
Даже для простой формы регистрации или входа всегда следует проверять, ввел ли пользователь имя и пароль. Прежде чем отправлять запрос удаленному серверному сценарию и ожидать результат, всегда выполняйте такую проверку. Не полагайтесь только на серверную проверку. Если пользователь ввел только имя пользователя, то серверный сценарий должен принять запрос, проверить отправленные данные и возвратить приложению Animate сообщение об ошибке, в котором говорится, что должно быть введено как имя пользователя, так и пароль. Аналогично, если проверка выполняется только на стороне клиента (в SWF-файле), пользователь может взломать SWF-файл, обойти процедуру проверки и отправить на сервер потенциально вредоносные данные.
Проверка на стороне клиента может ограничиваться проверкой наличия в поле формы как минимум одного символа либо проверкой на ввод числового значения вместо строки. Чтобы проверить, например, адрес электронной почты, убедитесь, что текстовое поле в Animate не пусто и содержит знак @ и точку (.). На стороне сервера добавьте более сложную проверку. Например, проверьте принадлежность адреса электронной почты к допустимому домену.
Для обработки данных, загруженных в SWF-файл с сервера, необходимо создать сценарий ActionScript. После окончания загрузки данных в SWF-файл к ним можно обращаться из этого расположения. Полнота загрузки данных проверяется с помощью сценария ActionScript. Сигнал о том, что данные загружены в документ, можно отправлять с помощью функций обратного вызова или прослушивателей.
При загрузке данных их можно отформатировать несколькими способами.
При загрузке XML можно анализировать и использовать данные с помощью методов и свойств класса XML. Если используются пары «имя-значение», то они превращаются в переменные.
Данные можно получать от веб-службы или из Animate Remoting.
В обоих случаях могут приходить сложные структуры данных, например массивы, объекты, наборы записей, которые необходимо соответствующим образом анализировать и связывать.
Обработка ошибок и отладка
Чтобы приложение было достаточно надежным, необходимо предусмотреть возникновение некоторых ошибок и реализовать действия по их обработке.
Лучший способ обработки ошибок в сценариях ActionScript 2.0 состоит в использовании блоков try-catch-finally, которые позволяют перехватывать и исправлять нестандартные ошибки. Создание пользовательских классов ошибок позволяет повторно использовать код во всем приложении без необходимости переписывать код обработки ошибок. Дополнительные сведения о выводе нестандартных ошибок см. в документации по классу Error в руководстве Справочник ActionScript 2.0 для Adobe® Flash® Professional CS5. Дополнительные сведения о блоках try-catch-finally см. в документации по блокам try..catch..finally в руководстве Справочник ActionScript® 2.0 для Adobe® Flash® Professional CS5.
В сценариях ActionScript 3.0 для перехватывания ошибок следует использовать класс flash.errors.
Дополнительные сведения см. в разделе «Обработка синхронных ошибок в приложении» в руководстве Programming ActionScript 3.0.
Систематизация файлов и хранение кода
Прежде чем приступать к систематизации файлов и сохранению кода, ознакомьтесь с приведенными ниже рекомендациями.
Разделен ли SWF-файл на несколько SWF-файлов и если да, то как они взаимодействуют?
Какие ресурсы можно сделать общими для нескольких SWF-файлов?
Какие файлы загружаются динамически?
Как и где хранятся сценарии ActionScript?
При разработке приложения серверный код и файлы следует хранить в виде структуры логических каталогов, аналогичной используемой в пакете ActionScript. Код следует размещать таким образом, чтобы он всегда был упорядочен, а риск перезаписи минимален.
В более крупных приложениях коммуникационные функции «клиент-сервер» и службы следует инкапсулировать в классы. Преимущества использования классов:
Возможность использовать код в нескольких SWF-файлах.
Возможность редактировать код в центральном расположении и обновлять все SWF-файлы путем повторной публикации.
Возможность создавать единый API-интерфейс, способный работать с различными элементами пользовательского интерфейса и другими ресурсами, выполняющими аналогичные функции.
Использование шаблона проектирования MVC
Шаблон проектирования MVC используется для разделения в приложении информации, выходных данных и обработки данных. Приложение разделено на три компонента: модель, представление и средство управления. Каждый из компонентов работает с собственной частью общего процесса.
Модель
Объединяет в себе данные и правила приложения. Большая часть обработки в приложении выполняется в этой части шаблона разработки. Кроме того, модель содержит все компоненты (такие как CFC, EJB и веб-службы) и базу данных. Возвращаемые на этой стадии процесса данные не отформатированы для интерфейса (или клиентской части) приложения. Возвращаемые данные могут использоваться для различных интерфейсов (или представлений).
Представление
Обрабатывает клиентскую часть приложения (интерфейс, с которым взаимодействует пользователь) и выполняет визуализацию содержимого модели. Интерфейс определяет способ отображения данных модели и выводимые данные представления, а также позволяет пользователю обращаться к данным приложения или манипулировать ими. При изменении модели представление обновляется и отражает внесенные изменения путем отправки или получения данных. Если создается гибридное веб-приложение (например, предусматривающее взаимодействие Animate с другими приложениями на странице), то в составе представления в шаблоне разработки можно создать несколько интерфейсов. Шаблон проектирования MVC поддерживает работу с различными представлениями.
Средство управления
Обрабатывает запросы модели и представления, связанные с обработкой и отображением данных. Обычно содержит большой объем кода. Контроллер может вызвать любую часть модели в зависимости от пользовательского запроса через интерфейс (или представление) и содержит код, индивидуальный для каждого приложения. Поскольку этот код индивидуален, он обычно не используется повторно. Однако другие компоненты шаблона проектирования допускают повторное использование. Средство управления не обрабатывает и не выводит данные. Оно принимает запросы от пользователей, решает, какую часть модели и какие компоненты представления вызвать, и определяет, куда будут отправлены данные и каким образом будут отформатированы возвращенные данные. Средство управления обеспечивает доступ представлений к тем частям модели, данные которых они отображают. Обычно средство управления передает данные в соответствии с изменениями в модели и представлении.
Каждая часть модели создается как самодостаточный компонент в общем процессе. При изменении одной из частей модели (например, при переработке интерфейса) другие части процесса могут не потребовать изменений, что уменьшает количество возможных проблем. Если шаблон разработки создан правильно, представления можно изменять без переработки модели и средства управления. Если в приложении не используется MVC, то любые изменения могут вызвать волновой эффект в коде, в результате чего потребуется внести значительно больше изменений, чем при использовании конкретного шаблона проектирования.
Одна из важных причин, по которой следует использовать шаблон MVC, — отделение данных и логики от пользовательского интерфейса. Отделение этих частей процесса позволяет создать несколько различных графических интерфейсов, использующих одну и ту же модель и одни и те же неформатированные данные. Это означает, что приложение можно использовать с различными интерфейсами Animate. Например, можно создать отдельный интерфейс для веб-страниц, отдельный интерфейс для КПК, отдельную версию для сотовых телефонов и даже HTML-версию, в которой Animate не используется вообще. Отделение данных от остальной части приложения позволяет значительно сократить время разработки, тестирования и даже обновления нескольких клиентских интерфейсов. Кроме того, если доступна готовая модель, упрощается добавление новых клиентских оболочек в приложение.
MVC следует использовать только при создании крупного или сложного приложения, например веб-сайта электронной коммерции или приложения для электронного обучения. Для использования такой архитектуры необходимо планирование и понимание работы Animate и шаблона разработки. Тщательно продумайте взаимодействие различных частей. Обычно для этого требуется тестирование и отладка. При использовании MVC обычно требуется более сложное и трудное тестирование и отладка, чем в обычных приложениях Animate. Если создаваемое приложение требуется усложнить, то, возможно, следует использовать MVC.
Создание защищенных приложений
Хакеры могут попытаться взломать приложение, будь то небольшой портал, на который пользователи входят и читают статьи, или крупный магазин электронной коммерции. Поэтому ознакомьтесь с приведенными ниже действиями, позволяющими защитить приложение.
Данные, которые должны быть защищены, следует отправлять по протоколу HTTPS. Значения в Animate следует шифровать перед отправкой на удаленный сервер для обработки.
Никогда не храните в SWF-файле информацию или код, которые не должны видеть пользователи. Сторонние программы позволяет легко деассемблировать SWF-файлы и просматривать их содержимое.
Добавьте правила междоменных вызовов, не позволяющие неавторизованным доменам получать доступ к ресурсам.