52679.fb2
// Положение мыши по горизонтали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(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
Включает содержимое файла, во время того, как клип тестируется, публикуется или экспортируется.
Синтаксис:
#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