Интеграция Flash-содержимого с HTML
Форматы файлов Flash 1. При выполнении команды File-->Save As… flash-фильм сохраняется в файле с расширением .fla. Открыв этот файл, можно продолжить разработку фильма. Но законченные фильмы в формате .fla, как правило, не распространяются. Вместо этого используется формат .swf. В формате .swf не сохраняются элементы, которые использовались на этапе разработки и которые не надо отображать во время воспроизведения, за счет чего достигается малый размер файла. Кроме того, большинство разработчиков не заинтересованы в том, чтобы их заготовками пользовались другие пользователи, а формат .swf не подлежит редактированию.
Диалоговое окно Publish Settings 2. Окончательный вариант фильма в виде swf-файла может распространяться непосредственно, а может внедряться на веб-страницу. Подготовить swf-файл и шаблон HTML-страницы для вставки этого файла можно одной командой (File-->Publish). Но перед этим с помощью команды File-->Publish Settings… устанавливаются многочисленные настройки публикации.

На первой вкладке диалогового окна Publish Settings (вкладка Formats) задается один или несколько форматов, в которых можно сохранить результат работы. По умолчанию выставлены две галочки — .swf и .html (причем html-файл без файла .swf получиться не может). Кроме того, доступны графические форматы .jpg, .png и .gif. Интерес представляет вариант Windows Projector: если установить эту галочку, фильм будет опубликован в виде исполняемого файла для Windows (.exe), который, хоть и имеет больший размер, чем .swf, может просматриваться без flash-проигрывателя. Для каждого из вариантов можно задать имя и место на диске, где будет сохранен соответствующий файл (по умолчанию под тем же именем и в той же папке, где и исходный fla-файл).

Откройте любой сохраненный фильм (в формате .fla) и, установив все галочки на вкладке Formats, выполните команду File-->Publish и изучите полученные файлы.

Закладки диалогового окно Publish Settings 3. Когда на вкладке Formats выбирается новый формат, становится доступной закладка с настройками именно для данного формата. Например, на закладке Flash устанавливаются такие параметры результирующего swf-файла как версия проигрывателя, качество графики, степень сжатия и частота дискретизации mp3-звука и т.д. На вкладке GIF можно задать характеристики цветовой палитры, прозрачность, наличие анимированности и т.д.
Использование тега <OBJECT> для вставки flash-фильма 4. Если выбрать на вкладке Formats вариант HTML, будет сгенерирован фрагмент html-странички для вставки данного swf-фильма. Полученный фрагмент можно использовать как основу для странички сайта, а можно просто скопировать нужное содержимое и вставить его на готовую страничку.

Вставка swf-фильма осуществляется при помощи тега <OBJECT>, который понимается браузером Internet Explorer или тег <EMBED>, который знает Netscape (впрочем, IE версии 6.0 его тоже понимает). На всякий случай Flash генерирует оба тега. Работают они совершенно одинаково, но отличаются внутренней структурой. Рассмотрим генерируемый по умолчанию тег <OBJECT>:

<OBJECT
   classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
   codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/
   swflash.cab#version=7,0,0,0"
   width="550"
   height="400"
   id="Вася"
   align="middle">
<PARAM name="allowScriptAccess" value="sameDomain" />
<PARAM name="movie" value="Вася.swf" />
<PARAM name="quality" value="high" />
<PARAM name="bgcolor" value="#ffffff" />
</OBJECT>

Тэг <OBJECT> служит для вставки на страницу элемента управления ActiveX. В данном случае таким элементом управления выступает Flash Player, о чем и говорит атрибут classid (если flash-фильм внедряется на страницу вручную, через текстовый редактор, следует быть особенно внимательным, чтобы не ошибиться в написании этого уникального идентификационного кода). Атрибут codebase указывает, откуда браузер может загрузить элемент управления ActiveX (в данном случае Flash Player версии 7), если он не установлен на компьютере пользователя, просматривающего страничку. Атрибуты width и height задают ширину и высоту фильма соответственно и могут указываться в пикселях или в процентах от размера окна браузера. Значение атрибута ID может использоваться для доступа к flash-фильму с помощью JavaScript или VBScript. Атрибут align определяет выравнивание flash-фильма на страничке.

Группа вложенных тегов <PARAM> задает дополнительные свойства. Количество этих тегов зависит от числа измененных опций на вкладке HTML диалогового окна Publish Settings. Тег с атрибутом name="movie" является обязательным и указывает на swf-файл, который собственно нужно поместить на страницу. Тег с атрибутом name="bgcolor" задает цвет заднего фона flash-фильма и его легко можно изменить прямо в коде HTML-страницы.

Воздействие flash-фильма на страницу при помощи JavaScript 5. Flash-фильм может воздействовать на HTML-страницу посредством сценариев JavaScript. Можно заставить код JavaScript выполняться в нужном месте фильма. Для этого в ActionScript предусмотрена команда fscommand, принимающая два текстовых параметра. Программист может использовать эти два параметра по своему усмотрению, но принято, что первый параметр — имя функции JavaScript, которая должна сработать при выполнении данной команды, а второй параметр — параметр этой функции.

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

fscommand ("MyCommand");

Откройте диалоговое окно Publish Settings и на вкладке HTML в выпадающем списке Template выберите Flash with FSCommand. Нажмите кнопку Publish. В результате будет сгенерирован шаблон веб-страницы, в котором кроме тега <OBJECT>, помещающего flash-фильм на страницу, будет сгенерирован шаблонный код на языке JavaScript. В этом коде нас интересуют три закомментированные строки:

//
// Place your code here.
//

Эти строки можно стереть, а на их месте разместить команды, которые станут реагировать на сигналы, приходящие из фильма. Например, если мы хотим, чтобы по сигналу MyCommand цвет заднего фона страницы изменился бы на желтый, следует использовать следующую команду JavaScript:

if (command == 'MyCommand'){document.bgColor = '#ffff00'};

Если же мы хотим выполнить более сложную операцию, то лучше написать

if (command == 'MyCommand'){MyCommand()}

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


главная | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13