|
Flash("ИмяОбъекта","Команда/Путь")
|
|
Задайте команду, которую вы хотите передать Flash-плееру.
Допустимые команды: PLAY - воспроизведение Flash-ролика. STOP - остановка воспроизведения Flash-ролика. LOOP - включить повторное воспроизведение. SHOWMENU - включить контекстное меню Flash. HIDEMENU - отключить контекстное меню Flash. MINMENU - режим сокращенного контекстного меню. FULLMENU - режим полного контекстного меню. BACK - переход к предыдущему кадру ролика. FORWARD - переход к следующему кадру ролика. REWIND - переход к первому кадру ролика.
Что-либо другое во втором параметре команды (включая строковые переменные) будет восприниматься как путь к файлу или URL Flash-ролика.
|
|
Этот небольшой пример открывает диалоговое окно выбора файла (с заданным фильтром) и после выбора загружает и начинает воспроизведение выбранного Flash-ролика:
OpenFile("Файлы Flash (*.swf)|*.swf|Все файлы (*.*)|*.*|","*.swf") If (OpenFile$<>'') Then   Flash("Flash","OpenFile$")   Flash("Flash","PLAY") End
Для того чтобы просмотреть другие примеры, откройте файл flash_examples.mbd или flash_menu_on_master_page.mbd.
|
|
|
Дополнительная информация
|
|
Использование команд MINMENU и FULLMENU бесполезно в сочетании с командой HIDEMENU.
|
|
|
FlashGetVar("ИмяОбъекта","ПеременнаяFlash/MMB")
|
|
Получает значение переменной с указанным именем из Flash-ролика и сохраняет его в переменной MMB.
Примечание: Перед тем как обращаться к переменной во Flash-ролике, она должна быть создана. Поскольку действия во Flash вызываются асинхронно, то результат этих действий может быть возвращен через неопределенное время. Поэтому, если вы не уверены, что переменная во Flash-ролике уже создана (или ей присвоено требуемое значение), то используйте в скриптах команду Pause() перед вызовом команды FlashGetVar или FlashSetVar. Это должно предоставить Flash-ролику достаточное количество времени, чтобы завершить все действия и присвоить переменной значение, которое вы хотите получить из ролика. Другой метод - вызов команд MMB непосредственно из Flash. Конечно же, он требует прямого доступа к исходному файлу ролика (*.fla) и его повторной компиляции.
|
|
Этот небольшой пример взят из файла flash_examples.mbd, который можно найти в каталоге Samples\Flash_Examples (со всеми исходными файлами Flash). Он продемонстрирует вам реальный пример использования передачи значения переменной из/во Flash:
FlashStr$='MmbText.mmbstr,'+'GetDateTime' ** Передает значение GetDateTime в переменную MmbText.mmbstr, находящуюся в ролике FlashSetVar("Flash","FlashStr$") ** Дадим Flash немного времени для выполнения необходимых действий Pause("100") ** Значения переменных Date$ и Time$ будут получены из ролика напрямую с помощью команд Action Script ** fscommand("mmb","Date$ =" + MMBCurDateFull); ** fscommand("mmb","Time$ =" + MMBCurTimeFull); LoadText("DateStr","Date$") LoadText("TimeStr","Time$") ** А значение переменной Day$ будет получено с помощью команды FlashGetVar FlashGetVar("Flash","MmbText.MMBCurDay,Day$") LoadText("DayStr","Day$")
|
|
|
FlashSetVar("ИмяОбъекта","ПеременнаяFlash")
|
|
Задает новое значение переменной, находящейся во Flash-ролике.
Примечание: Все что сказано о команде FlashGetVar, справедливо и для этой команды ;)
|
|
|
FlashSetFrame("ИмяОбъекта","Кадр")
|
|
|
Эта команда позволяет вам осуществлять переход к любому кадру Flash-ролика прямо из вашего приложения. Просто укажите имя объекта в качестве первого параметра и номер кадра, к которому вы хотите перейти, в качестве второго параметра команды.
|
|
** Переход к 50 кадру ролика FlashSetFrame("Flash","50") Flash("Flash","PLAY")
Для того чтобы ознакомиться с более "реальными" примерами, откройте файл flash_examples.mbd или flashserie.mbd.
|
|
|
FlashGetFrame("ИмяОбъекта","Переменная")
|
|
|
Почти то же самое, что и команда FlashSetFrame, но наоборот - она возвращает номер текущего кадра ролика.
|
|
** Возвращает номер текущего кадра FlashGetFrame("Flash","CurrentFrame")
Для того чтобы ознакомиться с более "реальными" примерами, откройте файл flash_examples.mbd или flashserie.mbd.
|
|
|
FlashGetProp("ИмяОбъекта","Свойство,Переменная")
|
|
Возвращает определенное свойство ролика и сохраняет его в строковую переменную.
Свойство может быть одним из следующих: SCALE - возвращает масштаб отображения ролика. BGCOLOR - возвращает шестнадцатеричное значение цвета фона (например, FF0000 = красный цвет). QUALITY - возвращает значение качества отображения. PLAYING - возвращает состояние ролика - воспроизводится или нет (строка, содержащая true или false). MOVIE - возвращает имя ролика. TOTALFRAMES - возвращает общее количество кадров. ORIGINALWIDTH - возвращает исходное значение ширины ролика. ORIGINALHEIGHT - возвращает исходное значение высоты ролика. PLAYERVERSION - возвращает номер версии установленного Flash-плеера. FILEVERSION - возвращает номер версии, необходимой для воспроизведения заданного файла.
|
|
** Чтобы получить значение цвета фона ролика, используйте этот код FlashGetProp("Flash","BGCOLOR,bgcolor$")
** Чтобы выяснить, воспроизводится ли в данный момент ролик или нет, используйте этот код FlashGetProp("Flash","PLAYING,play$")
** Возвращает исходную ширину ролика FlashGetProp("Flash","ORIGINALWIDTH,owidth$")
Для того чтобы ознакомиться с более "реальными" примерами, откройте файл flash_examples.mbd или flashserie.mbd.
|
|
Вызов команд MMB непосредственно из Macromedia Flash Action Script:
Для взаимодействия между Flash-роликом и MMB используется команда fscommand. Она имеет два параметра: команда и аргументы. Если вы хотите передать команду MMB, то первым параметром всегда будет "mmb", а второй параметр будет содержать элементы скриптов MMB.
Пример использования fscommand в Flash-ролике:// этот пример помещает в переменную Time$ значение из Flash fscommand("mmb","Time$="+MMBCurTimeFull);
// этот пример вызывает команду LoadText и помещает значение переменной DirString в текстовый объект fscommand("mmb","LoadText(\"DirStr\",\""+DirString+"\")");
// пример перехода на следующую страницу fscommand("mmb","NextPage()");
// пример перехода к определенной странице MMB - в этом случае "Page 2" fscommand("mmb","Page(\"Page 2\")");
// пример запуска внешнего mbd-файла (с переходом на страницу "Page 1") из каталога, в котором расположен исполняемый файл приложения fscommand("mmb","RunMBD(\"<SrcDir>\\test1.mbd\",\"Page 1\")");
|
Чтобы использовать в строке кавычки, поместите перед ними обратный слэш (\). Это называется "символ замещения". Некоторые символы в Action Script нельзя использовать без замещения. Ниже приведена таблица всех используемых в Action Script последовательностей замещения:
|
Последовательность замещения
|
Символ
|
|
\b
|
Обратный ход каретки (ASCII 8)
|
|
\f
|
Начало формы (ASCII 12)
|
|
\n
|
Начало строки (ASCII 10)
|
|
\r
|
Возврат каретки (ASCII 13)
|
|
\t
|
Горизонтальная табуляция (ASCII 9)
|
|
\"
|
Кавычки
|
|
\'
|
Апостроф
|
|
\\
|
Обратный слэш
|
|
\000-\377
|
Число от 0 до 255 в восьмеричной кодировке
|
|
\x00-\xFF
|
Число от 0 до 255 в шестнадцатеричной кодировке
|
|
\u0000-\uFFFF
|
16-битный символ Unicode, заданный шестнадцатеричным кодом
|
Для дополнительной информации об использовании fscommand, а также о программировании с помощью Action Script обратитесь к документации по Macromedia Flash.
|