White cat - Справочник по Flash
// Абсолютный URL веб-страницыgetURL("http://spravkaweb.ru/");// Абсолютный URL локального файлаgetURL("file:///f:/www/example.html");// Относительный URL, предполагается протокол httpgetURL("/resource/resource.html");
Чтобы загрузить документ в окно или фрейм, имеющие имя, укажите это имя в качестве аргумента window:
// Загрузить в именованный фреймgetURL("http://spravkaweb.ru/", "myFrame");// Загрузить в именованное окноgetURL("http://spravkaweb.ru/", "myWindow");
Чтобы заменить набор фреймов, в котором содержится текущий фильм, дайте аргументу window заначение "_parent":
getURL("http://spravkaweb.ru/", "_parent");
Чтобы заменить загружаемым документом все наборы фреймов на странице, дайте аргументу window значение "_top":
getURL("http://spravkaweb.ru/", "_top");
Чтобы открыть загружаемый документ в новом анонимном окне браузера, дайте аргументу window значение "_blank":
getURL("http://spravkaweb.ru/", "_blank");
Нужно отметить, что открытие нового окна с помощью "_blank" лишает нас всякого контроля над внешним видом нового окна (размером, конфигурацией панелей управления, местонахождением и т.д.). Чтобы открывать настраиваемые окна с помощью getURL(), нужно вызвать на содержащей фильм странице функцию JavaScript.
С помощью функции getURL() можно также посылать переменные удаленным приложениям или сценариям на сервере. Чтобы передать переменные текущей временной диаграммы во внешний сценарий, нужно указать имя сценария в качестве аргумента URL и задать "GET" или "POST" в качестве значения аргумента method:
getURL("http://spravkaweb.ru/php.php", "_blank", "GET");
При вызове в качестве метода клипа getURL() посылает переменные временной диаграммы этого клипа:
// Передает переменные myClip в example.phpmyClip.getURL("http://spravkaweb.ru/example.php", "_blank", "GET");
Результаты выполнения сценария появятся в окне или фрейме, указанных в аргументе window (который необходимо задавать при передаче переменных).
Чтобы загрузить результаты выполнения сценария в текущие фрейм или окно, нужно задать в качестве аргумента window значение "_self":
getURL("http://spravkaweb.ru/", "_self", "GET");
Если значением аргумента method является "GET", переменные временной диаграммы текущего клипа посылаются в виде строки запроса, присоединенной к URL сценария в запросе HTTP GET. Строки запросов состоят из пар имя/значение, разделяемых амперандами (&):
getURL("http://www.mysite.ru/example.php?ss=2&pl=34", "_self");
Если аргумент method содержит "POST", переменные временной диаграммы текущего клипа посылаются сценарию в виде отдельного блока данных после заголовка запроса HTTP POST (так же, как в обычной форме HTML, использующей метод POST). Обратите внимание, что "POST" недоступен в автономном Flash Player.
Поскольку для большинства веб-серверов максимальная допустимая длина URL лежит между 255 и 1024 символами, при передаче больших объемов данных используйте "POST", а не "GET".
Надо отметить, что любые данные, возвращаемые сценарием, который вызван getURL(), выводятся как обычное веб-содержание в браузере, а не во Flash. Чтобы получить результаты выполнения сценария во Flash, используйте loadVariables().
Функция getURL() может применяться и с другими протоколами помимо "http:".
Протоколы, поддерживаемые getURL
Как показывает вышеприведенная таблица, если принадлежность Flash импортируется в файл Macromedia Director, с помощью getURL() можно генерировать события Lingo или выполнять команды Lingo. (Lingo - это язык сценариев в Director, аналогичный ActionScript).
Например, можно добавить событие кадра такого вида:
getURL("event: eventName params");
что приведет к вызову в Director обработчика события Lingo с именем on eventName.Вот команда getURL(), генерирующая событие с именем "myEvent" и передающая ему строку "A". Обратите внимание на преобразование символа с помощью:
// Отправить событие в DirectorgetURL("event: myEvent "A"");
Вот обработчик события 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.
if - Выполнение или не выполнение предложений в зависимости от условий
if
Позволяет выполнить или не выполняет определенные предложения в зависимости от заданного условия
Синтаксис:
if (condition) { statements}
Аргументы:
В целом, предложение if завершается закрывающей фигурной скобкой (}) без замыкающей точки с запятой.
Условие condition предложения if может быть любым допустимым выражением. При выполнении предложения if, интерпретатор проверяет значение этого выражения (которое еще называется проверочным выражением).
Если оно равно true, то выполняется statements. В противном случае statements не выполняются.
Примеры:
Пример: Операция сравнения возвращает булево значение.
// Положение мыши по горизонталиvar varX = _xmouse;// Если varX > 300 дает trueif (varX > 300) { // выполняется предложение trace("Мышь находится за отметкой 300 пикселов");}
Надо заметить, что проверочное выражение условного предложения не обязательно должно давать в результате булево значение - годится любое выражение.
Пример: Проверочное выражение - число или строка.
if ("hi") { trace("Условие выполнено!");}if (4) { trace("Условие выполнено!");}
Когда проверочное выражение условного предложения не является булевым, интерпретатор преобразует его в булево. Например, интерпретатор преобразует "hi" в false, потому что все нечисловые строки при использовании в булевом контексте принимают значение false. Поэтому условие не выполнено, и первое предложение trace() тоже не выполняется.
Аналогично, интерпретатор преобразует число 4 в true (любое ненулевое число преобразуется в true), поэтому второе предложение trace() выполняется.
Пример: Применение оператора ИЛИ.
lastName = "";firstName = "";if (firstName != "" || lastName != "") { trace("Welcome " + firstName + " " + lastName);}
Пример: Проверка существования клипа.
if (myClip) { myClip._x = 0; // Если myClip существует, поместить его} // на левый край рабочего стола
Совместимость:
Используется с 4-ой версии Flash
ifFrameLoaded - Выполняет код если загруженн определенный кадр
ifFrameLoaded
(Предложение)
Выполняет некоторый код, если загружен определенный кадр
Синтаксис:
ifFrameLoaded(scene, frame) { statement;}ifFrameLoaded(frame) { statement;}
Аргументы:
Описание:
Проверяет, доступно ли содержимое указанного кадра локально (скачано ли уже?). Используйте для создания прелоадера, то есть небольшой анимации, пока загружается остальная часть фильма. Разница между использованием _framesloaded и ifFrameLoaded() в том, что _framesloaded позволяет добавить if, или else, в то время, как ifFrameLoaded() позволяет указать количество кадров в одном простом выражении.
Начиная с Flash 4 следует использовать свойства _totalframes и _framesloaded с предложениями if-else для создания более гибкого предварительного загрузчика.
Пример:
if (_totalframes > 0 && _framesloaded == _totalframes) {gotoAndPlay("beginFrame");} else {gotoAndPlay(_currentframe - 1);}
Совместимость:
Используется с 3-ей версии Flash. Действие ifFrameLoaded устарело в Flash 5; используйте вместо него _framesloaded
include - Импорт текста из внешнего файла ActionScript
include
Включает содержимое файла, во время того, как клип тестируется, публикуется или экспортируется.