Справочник по Macromedia Flash

   Fasady-cleaf-tss фасады cleaf tss. |       

Создание интерактивных фильмов

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

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

Процедуры для кнопок, фрагментов фильма или кадров настраиваются в панели Actions (Процедуры).

Создавая процедуры при помощи средств панели Actions (Процедуры) в обычном режиме (normal mode), вы избежите необходимости писать самостоятельно код ActionScript; если же вы имеете достаточный опыт, то можете написать собственный сценарий. Сценарии могут состоять из отдельной инструкции, описывающей такое действие, как, например, остановка воспроизведения; сценарий может состоять из ряда инструкций, типа проверки выполнения некоторого условия и запуска некоторых процедур. Создание многих сценариев не требует большого опыта программирования; другие предполагают летальную проработку и потому требуют знакомства с языками программирования.

Информацию о создании сложных сценариев можно найти в руководств по ActionScript.

ActionScript

Язык сценариев ActionScript предназначен для создания в фильмах Flash интерактивных фильмов. Как и JavaScript, язык ActionScript является объектно-ориентированным языком программирования. В объектно-ориентированном сценарии информация объединяется в группы, называемые классами. Можно использовать классы, предлагаемые в ActionScript, или создавать собственные классы. Создаваемые трансформы класса, называемого объектом, можно править и использовать в различных сценариях. Для новою класса надо указать параметры (характеристики) и методы использования (типы) каждого объекта, аналогично тому, как это указывается для реальных объектов.

Например, человек имеет такие параметры, как пол, рост и цвет волос; и методы типа разговор, прогулка и т. д. В приведенном примере "человек" - это класс, а каждый индивидуальный человек - объект или трансформа этого класса. Объекты AclionScript могут содержать данные или могут быть представлены на Столе графически как фрагменты фильма.

Подробно эти термины рассматриваются в руководстве по ActionScript.

Использование панели Actions

Панель Actions (Процедуры) позволяет создавать и редактировать процедуры для объекта или кадра, используя два различных режима редактирования. Можно применить предлагаемые в списке Toolbox (Набор инструментов) процедуры, перетащив их в нужное место, и с помощью кнопок изменить их порядок или удалить лишние. В нормальном режиме (Normal Mode) можно описывать процедуры, используя поля параметров (аргументов), которые предлагают вам допустимые аргументы. В экспертном режиме (Expert Mode) можно описывать и редактировать процедуры непосредственно в текстовом поле, подобно написанию сценария (макроса) в текстовом редакторе.

Информацию о настройках панели Actions и переключении режимов редактирования см. в руководстве по ActionScript.

Для того чтобы вызвать панель Actions (Процедуры), выберите команду Window (Окно) Þ Actions (Процедуры).

Выделяя кадр, кнопку или трансформу фрагмента фильма, вызовите панель Actions (Процедуры), причем для выделенного кадра название панели Actions (Процедуры) изменится на Object Actions (Процедуры объекта) (рис. 12.1), а для выделенной кнопки или фрагмента фильма - на Frame Actions (Процедуры кадра) (рис. 12.2).

Для того чтобы выбрать режим редактирования процедур:



  1. При активной панели Actions (Процедуры) щелкните на стрелке в верхнем правом углу панели, чтобы вызвать всплывающее меню.
  2. Выберите во всплывающем меню Normal Mode (Нормальный режим) или Expert Mode (Экспертный режим).

Рис. 12.1 Панель и вкладка Object Action


Рис 12.2. Панель и вкаладка Frame Action

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

Использование панели Actions в нормальном режиме

В нормальном режиме пользователь создает процедуры, выбирая их в списке Toolbox (Набор инструментов) на левой стороне панели, который содержит следующие категории; Basic Actions (Основные процедуры), Actions (Процедуры), Operators (Операторы), Functions (Функции), Properties (Свойства) и Objects (Объекты). Категория Basic Actions (Основные процедуры) предлагает самые простые процедуры Flash и доступна только в нормальном режиме. Выбранные процедуры вносятся в список Actions (Процедуры) на правой стороне панели. Можно добавлять и удалять процедуры или изменять их порядок, а также вводить параметры (аргументы) для процедуры в нижней части панели Parameters (Параметры).

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

Для того чтобы выбрать процедуру:

  1. Щелкните на категории Actions (Процедуры) в списке Toolbox (Набор инструментов).
  2. Дважды щелкните на процедуре или перетащите ее в правую часть списка Actions (Процедуры).

Для того чтобы использовать панель Parameters (Параметры):

  1. Щелкните на треугольнике Actions (Процедуры), чтобы вызвать панель Parameters (Параметры).
  2. Выберите процедуру и введите новые значения в текстовые ноля параметров.

Для того чтобы вставить путь к фрагменту фильма:

  1. Щелкните на кнопке Target Path (Путь) в нижнем правом углу панели Actions (Процедуры), чтобы вызвать диалоговое окно Target Path (Путь).
  2. Выберите фрагмент фильма из предложенного списка.
Информацию об использовании пути см. в ризд. "Управление другими фильмами и фрагментами фильма " этой главы.

Для того чтобы переместить процедуру вверх или вниз по списку:

  1. Выделите процедуру в списке Actions (Процедуры).
  2. Переместите ее вверх или вниз в общем списке.

Для того чтобы удалить процедуру:

  1. Выделите процедуру в списке Actions (Процедуры).
  2. Щелкните на кнопке Delete (Удалить).

Для того чтобы изменить размер списка Toolbox (Набор инструментов) или списка Actions (Процедуры), выполните один из следующих шагов:

  • перетащите вертикальную разделяющую строку, которая появляется между списком Actions (Процедуры) и списком Toolbox (Набор инструментов);
  • дважды щелкните на разделяющей строке, чтобы закрыть список Toolbox (Набор инструментов); дважды щелкните на строке снова, чтобы еще раз открыть список,
  • щелчками на кнопках Left Arrow (Левая стрелка) или Right Arrow (Правая стрелка) на разделяющей строке расширьте или сожмите список.

Когда список Toolbox (Набор инструментов) скрыт, то с помощью кнопки Add (Добавить) по-прежнему можно получить доступ к его объектам.

Экспертный режим позволяет создавать процедуры, вводя кол ActionScript в текстовое поле на правой стороне панели или выбирая процедуры в списке Toolbox (Набор инструментов) слева.

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

  • выделение пункта во всплывающем меню Add (Добавить) или в списке Toolbox (Набор инструментов) вводит этот пункт в редактируемую текстовую область в позицию указателя;
  • никакие текстовые поля параметра не появляются;
  • в панели кнопок работает только кнопка Add (Добавить);
  • стрелки Up Arrow (Стрелка вверх) и Down Arrow (Стрелка вниз) не работают.
Подробную информацию об экспертном режиме можно нанти в руководстве по ActionScript.

Назначение процедур объектам

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

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

Назначая процедуру кнопке или фрагменту фильма, Flash автоматически вводит специальную функцию, называеглуго обработчиком (handler) - инструкцию OnMouseEvent для кнопок или инструкцию OnClipEvent ДЛЯ фрагмен-тов фильма. Обработчик управляет событием определенным образом и содержит группы инструкций ActionScript, которые запускаются при наступлении определенного события. Каждый обработчик (handler) начинается со слова on или onciipEvent и описания события, на которое обработчик и отвечает.

События - это действия, которые происходят в ходе воспроизведения фильма, например загрузка фрагмента фильма, или достижение воспроизводящей головкой заранее определенного кадра или нажатие пользователем клавиши на клавиатуре. Событие, которое будет вызывать процедуру, можно определить так, как описано в разделе "Настройка событий мыши" этой главы- Можно также определить событие фрагмента фильма, которое будет вызывать процедуру; см. руководство по ActionScripl.

Назначив процедуру, рекомендуется сразу проверить ее работу. Учтите, что в режиме редактирования работают только простые процедуры кадра типа Go То (Перейти) и Play (Воспроизведение). Следующие инструкции описывают" как настроить процедуры для объектов с помощью панели Actions (Процедуры) в нормальном режиме.

Информацию об использовании панели Actions в экспертном режиме можно найти в руководстве по ActionScript.

Для того чтобы назначить процедуру на фрагмент фильма или кнопку:

  1. Выделите кнопку или трансформу фрагмента фильма и выберите команду Wndow (Окно) Þ Actions (Процедуры). Если выделена не трансформа кнопки, трансформа фрагмента фильма или кадр, или если выделение содержит несколько объектов, то панель Actions (Процедуры) будет затенена.

    См. разд. "Назначение процедур кадрам " этой главы.

  2. В списке Toolbox (Haбop инструментов) на левой стороне панели щелкните па списке Basic Actions (Основные процедуры), чтобы отобразить основные процедуры.

    См. разд. "Использование основных процедур для навигации и интерактивные эффектов' данной главы.

  3. Назначьте процедуру, выполнив один из следующих шагов:
    • дважды щелкните на процедуре в списке Basic Actions (Основные процедуры);
    • перетащите процедуру из списка Basic Actions (Основные процедуры) слева в список Actions (Процедуры) на правой стороне панели (рис. 12.3);
    • щелкните па кнопке Add (Добавить) и выберите процедуру во всплывающем меню;
    • используйте горячие клавиши.

Рис. 12.3. Списки Toolbox и Actions в панели Frame Actions

Если выбран фрагмент фильма, то Flash автоматически вставляет код OnClipEvent и процедуру, которую вы выбрали в списке Actions (Процедуры). Если же выбрана кнопка, то Flash автоматически вставляет код onMouseEvent, чтобы при наступлении этого события была вызвана выбранная процедура.

  1. Для того чтобы показать панель Parameters (Параметры), щелкните на треугольнике в нижнем правом углу панели Actions (Процедуры). Выберите процедуру и введите новые значения в текстовые поля Parameters (Параметры).

    Параметры изменяются в зависимости от процедуры, которую вы выбрали, Например, но умолчанию параметр события On clip - Load (загрузка).

  2. Повторите шаги 3 и 4, чтобы назначить дополнительные процедуры по мере необходимости.

Назначение процедуры кнопке автоматически назначает кнопке инструкцию MouseEvent (событие мыши), которую будет вызывать процедура.

Каждый обработчик (handler) начинается со слова Оn (на) и события, на которое обработчик (handler) отвечает.

Например:

on (Release)
on (Keypress "<Space>")
on (Rollover)

Параметр (Release) означает, что пользователь нажал и отпустил кнопку мыши.

В панели Actions (Процедуры) можно определить, какие именно события мыши будут вызывать процедуры кнопки.

Для того чтобы настроить события мыши:

  1. Выделите кнопку, которой вы назначаете процедуру.
  2. В списке Toolbox (Набор инструментов) на левой стороне панели Actions (Процедуры) щелкните на списке Basic Actions (Основные процедуры), чтобы отобразить основные процедуры.
  3. Выберите одну из следующих настроек:
    • Процедуру ДЛЯ СобыТИЯ OnMouseEvent;
    • процедуру в списке Basic Actions (Основные процедуры).
  4. В панели Parameters (Параметры) для категории Event (События) выберите "горячую" клавишу или событие мыши, которые будут вызывать процедуру:
    • Press (Нажатие) - вызывает процедуру, когда кнопка мыши нажата, в то время как указатель наведен на кнопку;
    • Release (Отпустить) - вызывает процедуру, когда кнопка мыши отпущена, в то время как указатель наведен на кнопку, т. е. когда выполнен обычный щелчок на кнопке (параметр по умолчанию);
    • Release Outside (Отпустить вне) - вызывает процедуру, когда кнопка мыши отпущена, но указатель находится вне кнопки:
    • Key Press (Нажатие клавиши) - вызывает процедуру, когда нажата указанная клавиша. Выбирая эту настройку, не забудьте указать клавишу в текстовом поле:
    • Roll Over (Наведение) - вызывает процедуру, когда указатель наводится па кнопку;
    • Roll Out (Уход) - вызывает процедуру, когда наведенный указатель выводится за пределы кнопки - уходит с нее;
    • Drag Over (Перетаскивание по) - вызывает процедуру, когда кнопка мыши была нажата при наведенном на кнопку указателе, и затем указатель сначала ухолит с кнопки, а потом возвращается на нес;
    • Drag Out (Перетаскивание из) - вызывает процедуру, когда кнопка мыши нажата при наведенном нa кнопку указателе, а затем указатель уведен с кнопки.
  5. Назначьте кнопке любые дополнительные процедуры.

Подробную информацию относительно событий мыши см. в руководстве tin ActionScript. Для того чтобы протестировать процедуры кадра:

  1. Выберите команду Control (Управление) Þ Enable Simple Frame Actions (Включить простые процедуры кадра).
  2. Выберите команду Control (Управление) Þ Test Movie (Тестировать фильм).

Если вы хотите, чтобы какие-то события возникали в определенном месте фильма (т. е. при достижении воспроизводящей головкой определенного кадра), назначьте процедуру этому кадру. Например, чтобы создать в фильме цикл между 10-м и 20-м кадрами, назначьте 20-му кадру фильма процедуру "перейти к 10-му кадру и продолжить воспроизведение". Удобно поместить все процедуры кадра в один слой, чтобы упростить их поиск и работу с ними. Кадры с процедурами помечаются во временной диаграмме строчной буквой "а" (рис. 12.4).

Как только процедура назначена, проверьте, работает ли она с помощью команды Control (Управление) Þ Test Movie (Тестировать фильм). Учтите, что большинство процедур не будет работать в режиме редактирования.



Рис. 12.4. Вид кадров, содержащих процедуры, в окне Timeline

Ниже описывается, как назначить процедуры кадрам с помощью панели Actions (Процедуры) в нормальном режиме.

О работе с панелью Actions в экспертном режиме рассказано в руководстве па ActionScript.

Для того чтобы назначить процедуру ключевому кадру:

  1. Выделите ключевой кадр во временной диаграмме и выберите команду Window (Окно) Þ Actions (Процедуры).

    Если выделенный кадр не является ключевым кадром, то процедура будет назначена предыдущему ключевому кадру. Если выделен не кадр или если выделено несколько кадров, то панель Actions (Процедуры) будет затенена.

    См. разд. "Назначение процедур объектам" этой главы.

  2. В списке Toolbox (Набор инструментов) на левой стороне панели щелкните на категории Basic Actions (Основные процедуры), чтобы вызвать список основных процедур.
  3. Назначьте процедуру, выполнив один из следующих шагов:
    • дважды щелкните на соответствующем пункте в категории Basic Actions (Основные процедуры) в списке Toolbox (Набор инструментов);
    • перетащите процедуру из списка Toolbox (Набор инструментов) слева в список Actions (Процедуры) на правой стороне панели;
    • щелкните на кнопке Add (Добавить) и выберите инструкцию во всплывающем меню;
    • используйте горячие клавиши.
  4. Вызовите панель Parameters (Параметры), щелкнув на треугольнике в нижнем правом углу панели Actions (Процедуры). Выберите процедуру и введите для нее новые значения в текстовые поля Parameters (Параметры). Параметры изменяются в зависимости от выбранной процедуры.
  5. Повторите шаги 3 и 4, чтобы назначить дополнительные процедуры по мере необходимости.

Для того чтобы протестировать процедуру кадра в сцене, выберите команду Control (Управление) Þ Test Movie (Тестировать фильм).

Использование основных процедур для навигации и интерактивных эффектов

Основные процедуры панели Actions (Процедуры) позволяют управлять навигацией и создавать в фильме интерактивные эффекты. Flash создает необходимый код ActionScript в зависимости от процедур, выбранных пользователем.

Ниже перечислены основные процедуры панели Actions (Процедуры):

  • GOTO (перейти) - переводит воспроизводящую голоску к указанным кадру или сцене;
  • play (воспроизвести) и stop (остановить) - соответственно, запускают и останавливают фильм;
  • ToqqleHighQuality (включить высокое качество) - задает качество представления фильма;
  • stopAllSoundM (остановить все звуки) ~ останавливает все звуки в фильме;
  • GetURL (получить URL) - вызывает указанный LIRL;
  • FSCOMMAMD - управляет Flash Player, который воспроизводит фильм;
  • LoadMovie (загрузить фильм) и r?nioadMoviЈ (выгрузить фильм) - соответственно, загружают и выгружают дополнительный фильм;
  • TellTarget (сообщить цель) - управляет другим фильмом и фрагментами фильмов;
  • ifFrameloaded (если кадр загружен) - проверяет, загружен ли некоторый кадр;
  • onMouseEvent (событие "наведение указателя") - назначает вызываемое мышью или клавиатурой событие для вызова процедуры.

Кроме того, процедура print (печатать) позволяет определять кадры фильма как распечатываемые.

О других процедурах, доступных в ActionScript, и о расширенной интерактивности см. в руководстве по ActionScript.

Для перехода к определенному кадру или сцене фильма предназначена процедура GOTO (перейти).

Когда воспроизведение фильма переходит к указанному кадру, можно продолжить воспроизведение с нового кадра (установка по умолчанию) или остановить его на этом кадре. Воспроизведение также может переходить к указанной сцене.

Для того чтобы перейти к кадру или сцене:

  1. Выделите кадр, трансформу кнопки или трансформу фрагмента фильма, которой назначена процедура.
  2. Выберите команду Window (Окно) Þ Actions (Процедуры), чтобы вызвать панель Actions (Процедуры).
  3. В списке Toolbox (Набор инструментов) щелкните на категории Basic Actions (Основные процедуры), чтобы в списке основных процедур выбрать пункт Go To (Перейти).

    При этом Flash вставит процедуры GOTO (перейти) и play (воспроизвести) в список Actions (Процедуры).

  4. Для того чтобы после перехода воспроизведение продолжалось, оставьте процедуры GOTO (перейти) и Рlaу (воспроизвести) выделенными в панели Parameters (Параметры). Для того чтобы фильм в указанном кадре останавливался, отмените выделение в панели Parameters (Параметры) процедур GOTO (перейти) и play (воспроизвести). При этом процедуры изменятся на GOTO (перейти) и Stop (остановить).
  5. В панели Parameters (Параметры) во всплывающем меню Scene (Сцена) укажите сцену, в которую должно перейти воспроизведение - Current Scene (Текущая сцена) или Named Scene (Сцена, имеющая собственное имя) - чтобы определить в этой сцене кадр, с которого начнется воспроизведение, или укажите Next (Следующий) или Previous (Предыдущий), чтобы после перехода воспроизведение началось с первого кадра сцены.
  6. В панели Parameters (Параметры) во всплывающем меню Type (Тип) выберите кадр предназначения:
    • Next Frame (Следующий кадр) или Previous Frame (Предыдущий кадр);
    • Frame Number (Номер кадра). Frame Label (Ярлык кадра) или Expression (Выражение) позволяет определить кадр. Выражение - любая часть инструкции, создающая значение типа "1+1".
  7. Если на шаге 6 вы выбрали для кадра настройку Frame Number (Номер кадра). Frame Label (Ярлык кадра) или Expression (Выражение), то укажите номер кадра, ярлык кадра или выражение, которое определяет номер кадра или ярлык.

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

GotoAndStop (_currentframe +5);

О написании выражений см. руководство по ActionScript.

Воспроизведение и остановка фильма

При запуске фильма воспроизводятся последовательно все кадры до конца, если нет иных указаний. Можно останавливать или запускать фильм, используя процедуры Stop (остановка) и play (воспроизвести), например, остановить фильм перед переходом к следующей сцене. Запустить воспроизведение фильма снова можно процедурой play (воспроизвести). Процедуры Stop (остановка) и play (воспроизвести) наиболее часто используются для управления фрагментами фильма кнопками напели Controller (Панель воспроизведения) или для управления главной временной диаграммой. Фрагмент фильма, которым иы хотите управлять, должен иметь собственное имя как трансформа, его следует указать, он должен присутствовать во временной диаграмме.

См. разд, "Управление другими фильмами и фрагментами фильма данной главы.

Для того чтобы запустить или остановить фильм:

  1. Выберите кадр, трансформу кнопки или трансформу фрагмента фильма, которым вы назначите процедуру.
  2. Выберите команду Window (Окно) Þ Actions (Процедуры), чтобы вызвать панель Actions (Процедуры).
  3. В списке Toolbox (Набор инструментов) щелкните на категории Basic Actions (Основные процедуры), чтобы вызвать список основных процедур и выбрать пункт Stop (Остановка).

При этом Flash вставляет в список Actions (Процедуры) следующий код ActionScript:

onClipEvent (Load) {
stop () ;
}

где инструкция onClipEvent (Load) указывает, что при загрузке фильма Flash должен остановить фильм.

    Если круглые скобки после имени оставлены пустыми, это указывает, чтс в процедуру не передаются никакие параметры или аргументы.

Для того чтобы воспроизвести фрагмент фильма:

  1. Выделите фрагмент фильма, который хотите воспроизвести, или выберите кнопку, которая управляет воспроизведением.
  2. Выберите команду Window (Окно) Þ Actions (Процедуры), чтобы вызвать панель Actions (Процедуры).
  3. В списке Toolbox (Набор инструментов) щелкните на категории Basil Actions (Основные процедуры), чтобы вызвать список основных процедур, и выберите пункт Play (Воспроизведение).

При этом Flash вводит в список Actions (Процедуры) следующий код ActionScript:

On (Release){
Play () ;
}

где инструкция On (Release) указывает, что когда кнопка будет отпущена, Flash запустит воспроизведение фильма.

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

Об оптимальном соотношении скорости и качества представления фильма см. описание параметра QUALITY в гл. 14.

Для того чтобы настроить скорость и качество представления фильма:

  1. Выберите кадр, трансформу кнопки или трансформу фрагмента фильма, которой вы назначите процедуру.

    Выделение фрагмента фильма настраивает скорость представления фильма; выделение кнопки настраивает качество представления фильма.

  2. Выберите команду Window (Окно) Þ Actions (Процедуры), чтобы вызвать панель Actions (Процедуры).
  3. В списке Toolbox (Набор инструментов) щелкните на списке Basic Actions (Основные процедуры), чтобы отобразить основные процедуры и выбрать пункт Toggle High Quality (Переключить высокое качество).

При этом Flash создает в списке Actions (Процедуры) следующий код ActionScript:

ToggleHighQuality () ;

Остановка всех звуков

Для того чтобы остановить звуковой трек, не прерывая главный фильм, воспользуйтесь процедурой StopAllSounds (остановить все звуки). Учтите, что эта процедура не уменьшает громкость. Процедура stopAllSounds (остановить все звуки) воздействует на весь фильм, воспроизводящийся во Flash Player. Потоковые звуки возобновятся одновременно с продолжением воспроизведения; событийные звуки не возобновятся.

Об управлении звуками см. разд. "Запуск и остановка звуков в ключевых кадрах" гл. 6. Для того чтобы остановить все звуки в фильме:
  1. Выберите кадр, трансформу кнопки или трансформу фрагмента фильма, которой назначена процедура.
  2. Выберите команду Window (Окно) Þ Actions (Процедуры), чтобы вызвать панель Actions (Процедуры).
  3. В списке Toolbox (Набор инструментов) щелкните на категории Basic Actions (Основные процедуры), чтобы вызвать список основных процедур, и выберите в нем пункт Stop All Sounds (Остановить все звуки).

При этом Flash вводит следующий код ActionScript в список Actions (Процедуры):

StopAllSounds () ;

Переход к иному URL

Для того чтобы загрузить в окно браузера документ с определенного URL или передать переменные другому приложению на определенный URL, примените процедуру GetURL. Переменные сохраняют имена, которые могут использоваться в сценариях. Например, можно послать переменную сценарию CGI для обработки точно так же, как анкету HTML, но учтите, что посылать можно только переменные текущего фильма. Как правило, процедура GetURL применяется для загрузки страниц Web, но ее можно также использовать в проекторе Flash, чтобы открывать окно браузера автоматически и отображать указанный URL.

Для проверки этой процедуры необходимо, чтобы требуемый файл находился в указанном местоположении и чтобы абсолютный URL был доступен по сети (например, http: // www.myserver.com /).

О передаче переменных см. руководство по ActionScript. Для того чтобы перейти к URL:
  1. Выделите кадр, трансформу кнопки или трансформу фрагмента фильма, которой вы предполагаете назначить процедуру.
  2. Выберите команду Window (Окно) Þ Actions (Процедуры), чтобы вызвать панель Actions (Процедуры).
  3. В списке Toolbox (Набор инструментов) щелкните на категории Basic Actions (Основные процедуры), чтобы вызвать основные процедуры, и выберите пункт GetURL.
  4. В панели Parameters (Параметры) укажите URL, с которого надо получить документ. Учтите следующие советы:
    • используйте либо относительный путь типа mypage.htnu или абсолютный путь типа http:///wvw.mydomain.com/mypage.html.

      Относительный путь - сокращенная версия полного адреса; при этом адрес одного файла описывается относительно другого и указывает Flash переместиться вверх и вниз по иерархии файлов/папок/директории, начиная с того файла, который содержит инструкцию GetURL. Абсолютный путь - полный адрес, определяющий имя сервера, на котором находится файл, путь к нему (иерархию файлов/папок/директорий и т. д.) и собственно имя файла,

    • для того чтобы получить URL на основе значения выражения, выберите пункт Expression (Выражение) и введите выражение, описывающее местоположение URL.

    Например, следующая инструкция указывает, что "URL" - значение переменной DynamicURL:

    GetURL (DynamicURL);

    О написании выражений см. руководство по ActionScript.

  5. Для Window (Окно) следующим образом укажите окно или фрейм HTML, в который документ будет загружен:
    • выберите одно из зарезервированных имен цели:

      _self - документ загружается в текущий кадр в текущем окне;

      _blank - документ загружается в новое окно;

      _parent - документ загружается в родительский фрейм текущего кадра;

      _top - документ загружается в верхний фрейм в текущем окне.

    • введите имя определенного окна или фрейма, если он имеет особое имя в файле HTML;
    • выберите пункт Expression (Выражение) и введите выражение, которое описывает местоположение окна или кадра.
  6. Для Variable (Переменная) выберите метод пересылки переменных для загруженного фильма на указанный URL:
    • выберите пункт Send Using Get (Послать методом GET), чтобы пересылать переменные отдельно от URL, в виде длинных строк в отдельном заголовке; это позволит посылать большее количество переменных и отправлять полученную из анкеты информацию по почте сценарию CGI на сервере;
    • выберите Don't Send (He посылать), чтобы не посылать никакие переменные.

Ваш кол будет выглядеть следующим образом:

GetURL ("раде2.html","blank") ;

где процедура GetURL загружает документ HTML в новое окно браузера.

Для управления Flash Player используется процедура FSCOMMAND.

Можно также использовать эту процедуру, чтобы посылать сообщения приложению, поддерживающему Flash Player - например, JavaScript, браузеру, Director, Visual Basic, Visual C++ и другим приложениям, поддерживающим средства ActiveX.

Для того чтобы управлять воспроизведением фильма:

  1. Выделите кадр, трансформу кнопки или трансформу фрагмента фильма, которой назначена процедура.
  2. Выберите команду Window (Окно) Þ Actions (Процедуры), чтобы вызвать панель Actions (Процедуры).
  3. В списке Toolbox (Набор инструментов) щелкните на списке Basic Actions (Основные процедуры), чтобы вызвать основные процедуры и выберите пункт FSCOMMAND.
  4. В панели Parameters (Параметры) выберите настройку управления командами всплывающего меню Flash Player:
    • выберите процедуру Quit (выйти), чтобы закрыть проектор фильма;
    • выберите процедуру Ехес (выполнить), чтобы запустить приложение и проекторе. В текстовое поле Arguments (Аргументы) введите путь к приложению;
    • выберите процедуру Fuillscreen [True/False], чтобы управлять видом проектора. Введите в текстовое поле Arguments (Аргументы) значение True для полноэкранного представления, или False для нормального представления;
    • выберите процедуру Allowscale [True/False], чтобы управлять размером фильма. Введите в текстовое поле Arguments (Аргументы) значение True, чтобы оставить возможность изменять размер анимации, или значение False, чтобы представлять анимацию без возможности масштабирования;
    • выберите процедуру showmenu [True/False), чтобы управлять пунктами всплывающего меню. Введите в текстовое поле Arguments (Аргументы) значение True, чтобы правым щелчком мыши можно было вызвать полный набор пунктов меню, или значение False, чтобы скрыть строку меню.

Можно также указать настройки в текстовых полях Commands (Команды) или Arguments (Аргументы), а также вводить выражения.

Подробную информацию см. в руководстве по ActionScript.

Загрузка и выгрузка дополнительного фильма

Для того чтобы воспроизводить дополнительный фильм, не закрывая Flash Player, или чтобы переключиться между фильмами, не загружая другой документ HTML, используйте процедуру LoadMovie (за1рузить фильм). Процедура UnloadMovie (выгрузить фильм) удаляет фильм, предварительно .загруженный процедурой LoadMovie (загрузить фильм).

Вот некоторые типовые применения процедуры LoadMovie (загрузить фильм):

  • воспроизведение последовательности баннеров, которые являются SWF-файлами. При этом процедура LoadMovie (загрузить фильм) помещается в конец каждого SWF-файла и загружает следующий фильм-баннер;
  • организация ветвящегося интерфейса, который позволяет пользователю выбрать один из нескольких SWF-файлов;
  • создание навигационного интерфейса с расположенными на нулевом уровне средствами управления, которые позволяют загрузить другие уровни. Загрузка уровней дает более гладкие переходы, чем загрузка новых страниц HTML в браузере.

Для того чтобы загрузить фильм:

  1. Выберите калр, трансформу кнопки или трансформу фрагмента фильма, которой вы назначите процедуру.
  2. Выберите команду Window (Окно) Þ Actions (Процедуры), чтобы вызвать панель Actions (Процедуры).
  3. В списке Toolbox (Набор инструментов) щелкните на категории Basic Actions (Основные процедуры), чтобы вызвать список основных процедур, и выберите пункт Load Movie (Загрузить фильм).
  4. В панели Parameters (Параметры) укажите для URL абсолютный или относительный адрес загружаемого SWF-файла.

    Для использования во Flash Player или для тестирования во Flash все SWF-файлы должны быть сохранены в одной папке и указаны в списке как имена файлов без указания папки или диска.

  5. Для Location (Местоположение) выберите пункт Level (Уровень) или Target (Цель) во всплывающем меню.
  6. Если вы выбрали Level (Уровень), то введите номер уровня следующим образом:
    • для того чтобы загрузить новый фильм в дополнение к существующему фильму, укажите номер уровня, который не занят другим фильмом.

      (Для поддержки фильма и обновления значений переменных используйте процедуру Load Variables (загрузка переменных);

    • для того чтобы заменить существующий фильм другим загружаемым фильмом, введите номер уровня, который в настоящее время занят фильмом;
    • для того чтобы заменить первоначальный фильм и разгрузить все уровни, загрузите новый фильм на уровень 0. Первый фильм загружается на самый нижний уровень. Фильм на уровне 0 задает скорость воспроизведения (fps, кадры в секунду), цвет фона и размер кадра для следующих загружаемых, фильмов. Фильмы могут накапливаться в стек на уровнях выше нулевого уровня,

    Об уровнях и целях см. руководства по ActionScript.

  7. Если для настройки Location (Местоположение) выбрана опция Target (Цель), то укажите фрагмент фильма, который будет заменен загружаемым фильмом.

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

  8. Для Variable (Переменная) выберите метод пересылки переменных загружаемому фильму в местоположение, указанное в текстовом поле URL:
    • выберите Send Using Get (Переслать методом GET), чтобы добавить небольшое количество переменных в конец URL. Эту настройку можно использовать, например, чтобы переслать значения переменных из фильма Flash сценарию CG1 на сервер;
    • выберите Send Using Post (Переслать методом рокт), чтобы переслать переменные отдельно от LJRL в виде длинных строк в отдельном заголовке. Этот метод позволяет посылать большее количество переменных, а также пересылать полученную из анкет информацию сценарию CG1 на сервер. Этим методом, например, можно пересылать переменные сценарию CG1, который генерирует SWF-файл;
    • выберите Don't Send (Не пересылать), чтобы не пересылать переменные.

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

LoadMovie ("someFile.cgi", О, "GET");

где "someFile.cgi" генерирует фильм Flash в формате файла SWF.

Для того чтобы выгрузить фильм из окна фильма Flash:

  1. Выделите кадр, трансформу кнопки или трансформу фрагмента фильма, которой вы предполагаете назначить процедуру.
  2. Выберите команду Window (Окно) Þ Actions (Процедуры), чтобы вызвать панель Actions (Процедуры).
  3. В списке Toolbox (Набор инструментов) щелкните на категории Basic Actions (Основные процедуры), чтобы вызвать список основных процедур, и выберите пункт Unload Movie (Выгрузить фильм).
  4. Для Location (Местоположение) выберите одну из следующих настроек во всплывающем меню:
    • для загруженного фильма выберите пункт Level (Уровень) и укажите, с какого уровня вы хотите выгрузить фильм;
    • для того чтобы указать выгружаемый фильм, выберите опцию Target (Цель) и введите путь к фильму, который надо выгрузить. Можно ввести выражение, по которому будет рассчитываться нужный уровень.

Например:

UnloadMovie (3);

Эта инструкция указывает выгрузить фильм с уровня 3.

Для того чтобы протестировать процедуры LoadMovie (загрузить фильм) или UnloadMovie (ВЫГРУЗИТЬ фиЛЬМ):

  1. Если вы тестируете процедуру LoadMovie (загрузить фильм), то сначала удостоверьтесь, что загружаемый фильм находится по указанному пути. Если путь указан как абсолютный адрес, то он должен быть доступен.
  2. Выберите команду Control (Управление) Þ Test Movie (Тестировать фильм).
    Процедуры LoadMovie (загрузить фильм) и UnloadMovie (выгрузить фильм) не работают в режиме редактирования.

Управление другими фильмами и фрагментами фильма

Можно управлять фрагментом фильма или фильмом, который был загружен процедурой LoadMovie (загрузить фильм), указывая фрагмент фильма.

Вы назначаете процедуры кадру, кнопке или фрагменту фильма (диспетчеру), которые будут управлять фрагментом фильма, и затем указываете фильм или фрагмент фильма, который принимает процедуру (он будет называться целевым фильмом или целевым фрагментом фильма). Управлять фильмом или фрагментом фильма можно при помощи основной процедуры TeliTarqet (назначить цель). Или же можно и с пользовать процедуру with (с помощью), чтобы передать повторяющиеся процедуры одной цели, не адресуя целевой фрагмент фильма в каждом случае.

Для того чтобы управлять фильмом или фрагментом фильма, диспетчеру необходимо следующее!

  • должна быть определена цель, а именно - временная диаграмма цели, на которой будет выполнена процедура. Можно использовать диалоговое окно Insert Target Path (Указать путь к цели), чтобы указать фрагмент фильма:
  • фрагмент фильма, который указан как цель, должен иметь собственное имя трансформы фрагмента фильма, которая позволяет находить ту цель в сценариях. Для того чтобы присвоить имя трансформе фрагмента фильма, используйте панель Instance (Трансформа), вызываемую командой Window (Окно) Þ Panels (Панели) Þ Instance (Трансформа),
  • временная диаграмма фрагмента фильма должна быть на Столе, чтобы ее можно было указать как цель. Например, если из фрагмента Фильма А в кадре 5 требуется передать команду фрагменту Фильма Б на выполнение какой-то процедуры, то к моменту воспроизведения этого кадра Фрагмент Б должен уже воспроизводиться.

Для того чтобы управлять фрагментом фильма:

  1. Выберите кадр, трансформу кнопки или трансформу фрагмента фильма - то, чему будет назначена процедура.
  2. Выберите команду Window (Окно) Þ Actions (Процедуры), чтобы вызвать панель Actions (Процедуры).
  3. В списке Toolbox (Набор инструментов) щелкните на категории Basic Actions (Основные процедуры), чтобы вызвать список основных процедур (рис- 12.5), и выберите пункт Tell Target (Назначить цель).


    Рис. 12.5. Список процедур в панели Frame Actions

  4. Для того чтобы указать фрагмент фильма, которым нужно управлять, щелкните на кнопке Insert Target Path (Вставить путь к цели) в нижнем правом углу панели Actions (Процедуры).

    При этом в открывшемся диалоговом окне Insert Target Path (Вставить путь к цели), показанном на рис. 12.6, будет отображена иерархия текущего фрагмента фильма. С помощью данного диалогового окна укажите путь для поля Target (Цель) в панели Parameters (Параметры).




    Рис. 12.6. Окно Insert Target Path

  5. В группе Notation (Примечание) выберите установленный iio умолчанию переключатель Dots (Точки) (аналогично JavaScript). Пользователи, хорошо знакомые с Flash 4, могут использовать косую черту, чтобы раз1ра-ничить путь к фрагменту фильма.
  6. В группе Mode (Режим) выберите представление иерархии трансформ фрагмента фильма:
    • Relative (Относительный) - показывает только трансформы фрагментов фильма, которые присутствуют в текущем кадре текущей временной диаграммы, и их дочерние трансформы. Префикс относится к текущей временной диаграмме (выбран по умолчанию);
    • Absolute (Абсолютный) - показывает каждую трансформу фрагмента фильма в каждом кадре каждой сцены целого фильма. В этом режиме всегда предварительно указывается косая черта или приставка _root (или _level, что указывает, на какой уровень загружен фильм), а затем целевой путь.
    Абсолютный режим показывает все трансформы в каждом кадре, но из-за сложности взаимодействий фрагмента фильма некоторые трансформы могут быть недоступны, когда процедура TellTarget (указать цель) выполнена.

Можно свободно переключаться между примечаниями, однако изменение режимов Relative (Относительный) и Absolute (Абсолютный), и наоборот, может отменить выделение фрагмента фильма.

Для этого:

  1. Выделите фрагмент фильма в иерархическом дереве, при этом в текстовом поле Target (Цель) будет отображен путь к этому фрагменту. Нажмите кнопку ОК.
  2. В списке Toolbox (Набор инструментов) панели Actions (Процедуры) выберите любые дополнительные процедуры, которые буду инструктировать целевой фрагмент фильма о дальнейших процедурах.

Процедуры, вложенные в блок TellTarget (указать цель), относятся к целевой временной диаграмме.

Например:

tellTarqet (_root.plane) {
atop() ;
}

Для того чтобы сделать недоступными процедуры, содержание для которых еще не загружено, используйте процедуру ifFrameLoaded (если кадр загружен). Создайте начальную анимацию, которая будет воспроизводиться, пока загружается остальной фильм. Процедура ifFrameLoaded (если кадр загружен) полезна для проверки загрузки основного файла (типа растра или звука). Можно также использовать СВОЙСТВО _framesLoaded (в пределах процедуры if), чтобы проверить доступность содержания определенного кадра. С помощью процедуры или свойства можно запустить простую анимацию, пока остальная часть фильма загружается на локальный компьютер; в обоих случаях проверяется доступность для воспроизведения содержания определенного кадра. Как правило, процедура ifFrameLoaded (если кадр загружен) используется как процедура кадра, но она же может использоваться как процедура кнопки. Для проверки выполнения УСЛОВИЯ IfFrameLoaded (если кадр загружен) используется настройка Streaming (Поток) для команды Test Movie (Тестировать фильм), при этом кадры загружаются с Web-сайта как бы потоком.

См. разд. "Тестирование загрузки фильма" гл. 14, Для того чтобы проверить, загружен ли кадр:
  1. Выделите кадр, трансформу кнопки или трансформу фрагмента фильма, которой вы предполагаете назначить процедуру.
  2. Выберите команду Window (Окно) Þ Actions (Процедуры), чтобы вызвать панель Actions (Процедуры).
  3. В списке Toolbox (Набор инструментов) щелкните на категории Basic Actions (Основные процедуры), чтобы вызвать список основных процедур, и выберите пункт If Frame Is Loaded (Если кадр загружен).
  4. В панели Parameters (Параметры) для Scene (Сцена) выберите сиену, содержащую желательный кадр: укажите опцию Current Scene (Текущая сцена) или имя сцены.
  5. Для настройки Type (Тип) выберите Frame Number (Номер кадра). Frame Label (Ярлык кадра) или Expression (Выражение).
  6. Для настройки Frame (Кадр) определите кадр, который загрузится, прежде чем будет вызвана процедура. Укажите Frame Number (Номер кадра), Frame Label (Ярлык кадра) или Expression (Выражение), аналогично инструкции на шаге 5.
  7. Выберите процедуру, которая должна выполниться, когда будет загружен определенный кадр. Flash введет следующий код ActionScript в список Actions (Процедуры):
IfFrameLoaded (100) {
GotoAndPlay (10);
}

Для того чтобы применить процедуру ifFrameLoaded (если кадр загружен) для воспроизведения короткой анимации при загрузке основного фильма:

  1. Создайте короткий цикл анимации в начале фильма. Самое простое - создать цикл, который показывает сообщение "Фильм загружается..."
  2. При помощи процедуры ifFrameLoaded (если кадр загружен) создайте процедуру кадра, которая переключит воспроизведение фильма от циклической начальной анимации к основному фильму, когда все кадры будут загружены.

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

IfFrameLoaded (30) {
GotoAndPlay (3);

Для завершения примера назначьте следующую процедуру второму кадру, чтобы повторно начать воспроизведение в Кадре 1:

GotoAndPlay (1);

Когда загружается кадр, указанный в процедуре ifFrameLoaded (если кадр загружен), воспроизведение фильма переходит ко второму кадру и продолжает воспроизводить фильм с третьего кадра. Для того чтобы использовать свойство _framesloaded в процедуре для воспроизведения во время загрузки фильма короткого анимированного цикла;

  1. Создайте короткий анимированный цикл в начале фильма. Например, можно создать цикл, который показывает сообщение "фильм загружается..."
  2. Создайте процедуру кадра, которая выведет воспроизведение из цикла, когда кадры наконец будут загружены, и которое продолжит воспроизведение фильма.

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

if(_framesloaded--100) {
GotoAndPlay (3) ;
}else {
GotoAndPlay (1);
}

Подробную информацию о свойстве _framesloaded CM. в руководстве по ActionScript.

Содержание раздела