Справочник по Flash - white cat
Шрифт:
Интервал:
Закладка:
include - Импорт текста из внешнего файла ActionScript
include
Включает содержимое файла, во время того, как клип тестируется, публикуется или экспортируется.
Синтаксис:
#include path
Аргументы:
Директива #include загружает в текущий сценарий текст сценария из внешнего текстового файла (предпочтительно с расширением .as), помещая его прямо в то место, где находится команда #include.
Операция #include осуществляется на этапе компиляции, и это означает, что включаемый в фильм текст существовал во время тестирования, экспорта или публикации из среды разработки. Изменения, произведенные во внешнем файле после экспорта фильма, не будут отражены в фильме. Чтобы добавить эти изменения в фильм, его нужно повторно экспортировать.
Директива #include используется для включения одного и того же блока кода в несколько сценариев или в разные проекты Flash (подобно тому, как используется внешняя библиотека принадлежностей Flash). Это следует делать для централизации кода, сопровождения кода в системе контроля версий (например, CVS или Microsoft Visual Source Safe), либо при использовании внешнего текстового редактора, который предпочтительней редактора ActionScript.
Это удобно и тогда, когда программист работает отдельно от, скажем, разработчика графических анимаций Flash. Внешние файлы удобны при использовании хранилищ кода, например, библиотек функций, независимых от текущей временной диаграммы или клипа. Менее полезными она оказываются в коде, который требует тесной интеграции с файлом Flash.
Следует заметить, что директива #include начинается с символа # и не должна заканчиваться точкой с запятой. Любое предложение #include, завершающееся точкой с запятой, вызовет ошибку и не выполнит импорта внешнего сценария. Если файла по указанному пути нет, директива вызовет ошибку, и внешний файл не будет включен.
При выполнении синтаксической проверки по команде Check Syntax (Ctrl-T или Command-T) меню панели Actions (которое находится под кнопкой со стрелкой в правом верхнем углу панели) текст во внешнем файле тоже проверяется.
Примеры:
Следующий код импортирует внешний файл .as с именем myScript.as в текущий файл .fla. При использовании относительного пути myScript.as должен быть в той же папке, что и файл .fla, содержащий директиву включения:
#include "myScript.as"
Можно построить относительный путь, содержащий подкаталог. В следующем коде предполагается, что mySqcript.as находится на один уровень ниже текущего файла .fla в подкаталоге с именем includes:
#include "includes/myScript.as"
Для обозначения папки над текущей используются две точки. В следующем примере предполагается, что myScript.as находится на один уровень выше текущего файла .fla:
#include "../myScript.as"
В следующем коде предполагается, что myScript.as находится в каталоге includes, на том же уровне, что и подкаталог, содержащий текущий файл .fla:
#include "../includes/myScript.as"
Можно задавать и абсолютный путь к любой папке, например:
#include "C:/WINDOWS/Desktop/myScript.as"
Совместимость:
Используется с 5-ой версии 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() действовать над текущей временной диаграммой. В частности, этим вызываются проблемы при загрузке фильмов на новые незанятые уровни.
Рассмотрим следующий код:
loadMovie("myMovie.swf", _level1);
Если до выполнения этого предложения объект _level1 не существовал, то этот код загрузит файл myMovie.swf во временную диаграмму, содержавшую предложение loadMovie(), а не на _level1! Чтобы избежать этой проблемы, вместо loadMovie() можно использовать loadMovieNum(). Кроме того, можно указать строку в качестве параметра target для loadMovie():
loadMovie("myMovie.swf", "_level1");
В этом случае уровень будет создан, если его еще не существует ( только _level0 существует по умолчанию во всех фильмах).
Пример:
// Поместить myMovie.swf на level 1loadMovie("myMovie.swf", "_level1");// Поместить myMovie.swf на level 0loadMovie("myMovie.swf", "_level0");// Поместить myMovie.swf в myCliploadMovie("myMovie.swf", "myClip");// Заменить содержимое проигрывателя на// coolmovie.swf, использую абсолютный путьloadMovie("http://www.yousite.ru/coolmovie.swf", "_level0");// Загрузить фильм на уровень 1 с рабочего стола Windows.loadMovie("file:///C:/WINDOWS/Desktop/myMovie.swf", "_level1");
Совместимость:
Используется с 4-ой версии Flash
loadMovieNum - Загрузить файл .swf
loadMovieNum
(Глобальная функция)
Позволяет загрузить в проигрыватель файл .swf
Синтаксис:
loadMovieNum(URL, level)loadMovieNum(URL, level, method)
Аргументы:
Описание:
Функция loadMovieNum() почти идентична loadMovie(), но требует задания целевого уровня загрузки в виде числа, а не строки. Это означает, что loadMovieNum() может загружать фильмы только на уровни документов, а не в клипы. Если указанного уровня не существует, он будет создан. Если указанный уровень существует, его содержимое будет заменено новым файлом .swf. Допускается загрузка фильма на _level2, даже если _level1 не создан.
Функцию loadMovieNum() можно использовать, когда нужно динамически задавать уровень для загрузки фильма, например:
var x = 3;loadMovieNum("muMovie.swf", x);
Того же самого можно достичь путем конкатенации строк и использования обычной функции loadMovie():
loadMovie("muMovie.swf", "_level" + x);
Совместимость:
Используется с 3-ей версии Flash
loadVariables - Загружает в клип или фильм внешние переменные
loadVariables
(Глобальная функция)
Загружает в клип или фильм внешние переменные
Синтаксис:
loadVariables (url, target); loadVariables (url, target, method);
Аргументы:
Обычно переменные внутри фильмов определяются при помощи ActionScript. Однако посредством loadVariables() можно также импортировать в клип переменные из текстового файла или выполняемого на сервере приложения - например, сценария PHP. Областью видимости для переменных, загружаемых через loadVariables(), является клип или уровень, указанные в target, а типом данных всегда является string. Для прикрепления загруженных переменных к текущей временной диаграмме нужно использовать в качестве значения аргумента target пустую строку.