Вы здесь

53. Управление Flash Player

| |



Управление Flash Player

Для управления 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() ; } 
| |




Top.Mail.Ru