Основы использования внешнего APIFlash Player 9 и более поздних версий, Adobe AIR 1.0 и более поздних версий
Хотя в некоторых случаях SWF-файл может выполняться самостоятельно (например, если вы используете Adobe® Flash® Professional при создании проектора SWF-файлов), в большинстве ситуаций приложение SWF выполняется как элемент внутри другого приложения. Как правило, контейнер, который включает SWF-файл, является файлом HTML. Несколько менее часто SWF-файл используется для всего пользовательского интерфейса приложения для настольной системы или для ее части.
Так как вы работаете над более сложными приложениями, возможно, потребуется установить связь между SWF-файлом и приложением-контейнером. Например, зачастую на веб-странице текст и другая информация показаны в виде HTML, а SWF-файл включен для показа динамического визуального содержимого (например, диаграммы или видеофайла). В данном случае может быть необходимо сделать так, что если пользователи нажимают кнопку на веб-странице, что-то изменяется в SWF-файле. ActionScript содержит механизм, который называется внешним API и который упрощает этот тип связи между ActionScript в SWF-файле и другим кодом в приложении контейнера.
Важные понятия и терминыНиже приводится список важных терминов, необходимых при работе.
- Контейнер ActiveX
- Приложение контейнера (не веб-обозреватель), включающее экземпляр элемента управления ActiveX для Flash Player и применяемое в целях показа содержимого SWF-файла в приложении.
- Приложение контейнера
- Приложение, в котором Flash Player выполняет SWF-файл (например, веб-обозреватель и HTML-страница, включающая содержимое Flash Player).
- Проектор
- Исполняемый файл, включающий в себя SWF-содержимое и внедренную версию Flash Player. Вы можете создать файл проектора, используя для этого Flash Professional или автономный Flash Player. Проекторы обычно применяются для распределения SWF-файлов по компакт-дискам или в иных ситуациях, когда размер загрузки неважен, а автор SWF-файла хочет быть уверен, что пользователь сможет выполнить SWF-файл независимо от того, установлен ли Flash Player на компьютере пользователя.
- Прокси
- Приложение-посредник или код, который вызывает код в одном приложении («внешнем приложении») со стороны другого приложения («вызывающего приложения») и возвращает значения вызывающему приложению. Прокси можно использовать в различных целях.
Чтобы упростить процесс выполнения вызовов внешней функции путем преобразования исходных вызовов функции в формат, который понимается внешним приложением.
Чтобы обойти ограничения безопасности или другие ограничения, которые не позволяют вызывающему напрямую связываться с внешним приложением.
- Сериализация
- Преобразование объектов или значений данных в формат, который может использоваться для передачи значений в сообщениях между двумя системами программирования (например, по Интернету или между двумя приложениями, запущенными на одном и том же компьютере).
Работа с примерамиМногие приведенные примеры кода являются небольшими примерами, созданными в демонстрационных целях, а не полными рабочими примерами кода, проверяющего значения. Поскольку использование внешнего API требует (по определению) составления кода ActionScript, а также кода в приложении контейнера, проверка примеров включает создание контейнера (например, веб-страницы, содержащей SWF-файл) и использование распечаток кода для взаимодействия с контейнером.
Чтобы проверить пример связи между ActionScript и JavaScript, выполните следующие действия.Создайте новый документ в среде Flash Professional и сохраните его на компьютере.
В основном меню выберите «Файл» > «Параметры публикации».
В диалоговом окне «Параметры публикации» на вкладке «Форматы» убедитесь в том, что установлены флажки Flash и HTML.
Нажмите кнопку «Опубликовать». Это приводит к созданию SWF-файла и HTML-файла в той же папке и с тем же именем, которое использовалось для сохранения документа Чтобы закрыть диалоговое окно «Параметры публикации», нажмите кнопку «OК».
Снимите флажок «HTML». После того, как HTML-страница создана, необходимо изменить ее, чтобы добавить соответствующий код JavaScript. Снятие флажка «HTML» приводит к тому, что после изменения HTML-страницы Flash не станет перезаписывать ваши изменения, показывая новую HTML-страницу при публикации SWF-файла.
Чтобы закрыть диалоговое окно «Параметры публикации», нажмите кнопку «OК».
Откройте в текстовом редакторе или редакторе HTML файл HTML, созданный Flash при публикации SWF-файла. В исходном коде HTML добавьте начальный и завершающий тег script, а затем скопируйте в них код JavaScript из примера кода:
<script>
// add the sample JavaScript code here
</script>
Сохраните файл HTML и вернитесь в программу Flash.
Выберите ключевой кадр в Кадре 1 временной шкалы и откройте панель «Действия».
Скопируйте код ActionScript на панель «Сценарий».
Выберите в основном меню «Файл» > «Опубликовать», чтобы обновить SWF-файл, внеся в него изменения.
Откройте с помощью веб-обозревателя HTML-страницу, которую вы отредактировали, для просмотра страницы и проверьте связь между ActionScript и страницей HTML.
Чтобы проверить пример связи между контейнерами ActionScript, выполните следующие действия.Создайте новый документ в среде Flash Professional и сохраните его на компьютере. Его можно сохранить в той папке, где ваше приложение контейнера обычно ищет SWF-файл.
В основном меню выберите «Файл» > «Параметры публикации».
В диалоговом окне «Параметры публикации» на вкладке «Форматы» убедитесь в том, что установлен только флажок Flash.
В поле «Файл», расположенном возле флажка «Flash», щелкните значок папки, чтобы выбрать папку, в которой следует опубликовать SWF-файл. Выбрав местоположение своего SWF-файла; можно, например, сохранить документ Flash в одной папке, а опубликованный SWF-файл — в другой папке (допустим, в папке, содержащей исходный код приложения контейнера).
Выберите ключевой кадр в Кадре 1 временной шкалы и откройте панель «Действия».
Скопируйте код ActionScript из примера на панель «Сценарий».
Выберите в основном меню «Файл» > «Опубликовать», чтобы заново опубликовать SWF-файл.
Создайте и выполните свое приложение контейнера, чтобы проверить связь между ActionScript и приложением контейнера.
Полные примеры использования внешнего API для связи со страницей HTML и настольным приложением C# см. в:
Эти примеры содержат полный код, включая ActionScript и код проверки контейнера, который необходимо применять при создании кода с помощью внешнего API. Еще один полноценный случай с применением внешнего API приведен в примере класса ExternalInterface из справочника ActionScript® 3.0 для Adobe® Flash® Professional CS5.
|
|