Litvek - онлайн библиотека >> Другие языки и системы программирования и др. >> Справочник по Flash >> страница 4
обработчик события Lingo sprite, который должен быть прикреплен к спрайту Flash в Director, чтобы получить событие. Заметим, что спрайт в Director примерно соответствует экземпляру клипа во Flash; ключевое слово Lingo put родственно команде ActionScript trace(), а && в Lingo является оператором конкатенации строк:

on myEvent msgput "The message received from Flash was " && msgend

Можно также спровоцировать запуск Lingo из спрайта Flash в Director с помощью ключевого слова "lingo:":

// Пусть Director даст звуковой сигналgetURL("lingo: beep");

Наконец, с помощью getURL() можно выполнять код JavaScript.Вызовем простую функцию alter JavaScript с помощью getURL():

getURL("javascript: alter("Hello world");");


Примеры:


Далее приведен стандартный код кнопки со ссылкой на веб-страницу:

on(release) {getURL("http://www.spravkaweb.ru/");}


Совместимость:


Используется со 2-ей версии Flash. В 4-ой версии усилена добавлением параметра method.

fscommand - Передача данных браузеру




fscommand


(Глобальная функция)

Позволяет отправить данные программе, которая запустила данный клип


Синтаксис:


fscommand(command, arguments)


Аргументы:



Описание:


С помощью функции fscommand(), фильм Flash может связываться с автономным проигрывателем или приложением-хозяином проигрывателя:средой, в которой выполняется Flash Player (веб-браузером или Macromedia Director).

Функция fscommand() обычно используется одним из трех способов:

При использовании с автономным плеером fscommand() принимает одну из встроенных пар команда/аргумент, как показано в следующей таблице:

Пары команда/аргумент в автономном проигрывателе

При использовании в браузере функция fscommand() в фильме влечет вызов специальной функции JavaScript (Netscape) или VBScript (Internet Explorer) на странице, содержащей фильм. Имя этой специальной функции имеет общий вид movieID_DoFSCommand, где movieID является именем, указанным в атрибуте фильма OBJECT ID (Internet Explorer) или атрибутом EMBED NAME (Netscape) в содержащем фильм документе HTML. При вызове movieID_DoFSCommand() значения параметров fscommand() command и arguments передаются в качестве аргументов функции movieID_DoFSCommand(). Если на содержащей фильм странице не существует функции movieID_DoFSCommand(), происходит отказ функции fscommand() без каких-либо сообщений.

Обратите внимание, что для работы fscommand() с Netscape атрибут swLiveConnect тега фильма EMBED должен быть задан как "true":

<EMBEDNAME="testmoviequot;SRC="myMovie.swf"WIDTH="100%"HEIGHT="100%"swLiveConnect="true"PLUGINSPAGE="http://www.macromedia.com/go/flashplayer/"></EMBED>

Связь с браузером через fscommand() невозможна в следующих конфигурациях системы:

Стоит отметить, что fscommand() не всегда дает лучший способ связи с фильмом Director из Flash. Предпочтительным средством коммуникации с Director является функция getURL() с протоколом event: или lingo:.


Примеры:


Чтобы выйти из автономного проектора, используйте такой код:

fscommand("quit");

Чтобы создать автономный проектор, выполняемый в полноэкранном режиме:

fscommand("fullscreen", "true");

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

fscommand("fullscreen", "true");fscommand("allowscale", "false");

Для запуска Notepad на большинстве систем Windows можно использовать:

fscommand("exec", "C:/WINDOWS/NOTEPAD.EXE");

В следующем коде показана страница HTML с командами JavaScript и VBScript, необходимыми для ответа на простой вызов fscommand() в фильме. Обратите внимание, что функция VBScript просто вызывает функцию JavaScript - это позволяет работать как в Internet Explorer, так и в Netscape с помощью одной функции JavaScript:

<HTML><HEAD><TITLE>fscommand demo</TITLE><SCRIPT LANGUAGE="JavaScript"><!--function testmovie_DoFSCommand(command, args) { alert("Здесь данные из Flash: "+command+", "+args);}//--></SCRIPT><SCRIPT LANGUAGE="VBScript"><!--Sub testmovieFSCommand(ByVal command, ByVal args) call testmovie_DoFSCommand(command, args)end sub//--></SCRIPT></HEAD><BODY><OBJECT ID="testmovie" CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="100%" HEIGHT="100%" CODEBASE="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"><PARAM NAME="MOVIE" VALUE="flash-to-javascript.swf"><EMBED NAME="testmovie" SRC="flash-to-javascript.swf" WIDTH="100%" HEIGHT="100%" swLiveConnect="true" PLUGINSPACE="http://www.macromedia.com/go/flashplayer/"</EMBED></OBJECT></BODY></HTML>

Чтобы вызвать предшествующую функцию JavaScript testmovie_DoFSCommand() из фильма flash-to-javascript.swf, можно использовать:

fscommand("hello", "world");


Совместимость:


Используется с 4-ой версии Flash

loadMovie - Загрузить файл .swf




loadMovie


(Глобальная функция)

Позволяет загрузить в проигрыватель файл .swf.


Синтаксис:


loadMovie(URL, target)loadMovie(URL, target, method)


Аргументы:



Описание:


Функция loadMovie() импортирует во Flash Player файл .swf, размещенный по адресу URL.

Если target является ссылкой на существующий клип или строкой, задающей путь к клипу, загруженный файл .swf будет помещен в указанный клип (вызывая удаление предшествующего содержимого). Чтобы загрузить фильм в текущий клип, используйте в качестве параметра target пустую строку:

loadMovie("myMovie.swf", "")

Если target является ссылкой на существующий уровень документа (например, _level2) или строкой, указывающей путь к уровню документа (например, "_level2"), то файл .swf помещается на указанный уровень документа. Загрузка фильма на уровень _level0 очищает проигрыватель от всего содержимого и помещает новый файл .swf на уровень _level0.

Можно посылать переменные вместе с вызовом loadMovie(), и тогда URL обычно является адресом сценария, возвращающего файл .swf, соответствующий переданным переменным. Чтобы отправить переменные при вызове loadMovie(), включается аргумент method (заданный в "GET" или "POST"). "GET" посылает переменные временной диаграммы текущего клипа в виде строки запроса, присоединенный к URL сценария. "POST" посылает переменные временной диаграммы текущего клипа после заголовка HTTP для запроса POST. Метод "POST" недоступен в автономном Flash Player. Поскольку у большинства веб-серверов длина URL ограничена величиной от 255 до 1024 символов, для передачи больших объемов данных используйте "POST", а не "GET".

Вызовы loadMovie() над веб-сервером, использующие метод "GET", могут передавать переменные в загруженный фильм без вмешательства сценария.

Например, загрузим внешний фильм myMovie.swf на уровень 1 стека документов проигрывателя, передав ему переменные текущей временной диаграммы:

loadMovie("myMovie.swf", "_level1", "GET");

Переменные, передаваемые в загружаемый фильм, определяются на главной временной диаграмме этого фильма. Этот прием действует только при обработке запроса loadMovie() веб-сервером. Попытки использовать метод "GET" в loadMovie() для локальных файлов вызывают ошибку.


Некоторые особенности:


Будьте осторожны при использовании ссылок на клипы и уровни в качестве аргумента target функции loadMovie(). Если аргумент target дает значение undefined, то функция loadMovie() использует в качестве target текущую временную диаграмму.

Аналогично, ссылки target, дающие пустую строку, заставляют loadMovie() действовать над текущей временной диаграммой. В частности, этим вызываются проблемы при загрузке фильмов на новые