А вот сценарии, содержащиеся во вложенных в эту анимацию клипах, не смогут получить доступ к этой переменной. Также ее не смогут использовать сценарии, находящиеся во внешнем по отношению к текущему клипе. Если же мы все-таки попытаемся извлечь значение этой переменной из одного из таких сценариев, то получим значение undefined, с которым каши не сваришь.
Такие переменные называются переменными уровня клипа. Говорят, что такие переменные "видны" только в "своем" клипе.
Но что делать, если нам все же нужно обратиться к переменной, находящейся в другом клипе? Да просто указать имя этого клипа перед именем переменной, разделив их точкой. Вот так:
someClip.someVar = 0; Глобальные переменные "видны" абсолютно из всех сценариев, находящихся в данном фильме. Они объявляются с помощью модификатора (особого ключевого слова, изменяющего действие какой-либо команды ActionScript) _giobai, который добавляется перед именем переменной и отделяется от него точкой:
_global.someVar = 0; Существует еще один тип видимости переменных - локальные переменные. Мы поговорим о них, когда начнем изучение функций.
Выше говорилось, что каждая переменная должна иметь уникальное имя, по которому к ней можно будет обратиться. Есть одно исключение из этого правила: переменные, имеющие разную область видимости, могут иметь одинаковые имена. При этом обращение происходит к переменной, имеющей более "узкую" область видимости.
Давайте рассмотрим такой пример:
_global.someVar:String = "Value"; var someVar:Integer = 3;
s = someVar; Мы объявили две переменные someVar, одну - уровня клипа, другую - глобальную, и присвоили им разные значения. Если мы теперь запросим значение переменной someVar, то переменной s будет присвоено число 3 - значение переменной someVar уровня клипа как имеющей более "узкую" область видимости. Глобальная переменная someVar будет "замаскирована".
Внимание!
Всегда проверяйте, к какой переменной вы обращаетесь. Ошибки доступа к переменным - самые трудноулавливаемые.
Но как получить значение глобальной переменной someVar? Очень просто - нужно использовать модификатор _giobai: s = _global.someVar;
Операторы
Ну что ж, с данными, константами и переменными покончено. Пора приступать к рассмотрению операторов, предназначенных для манипуляций с ними.
Арифметические операторы
Арифметические операторы служат для выполнения арифметических действий над значениями констант и переменных. Все арифметические операторы, поддерживаемые ActionScript, перечислены в табл. 19.2.
Таблица 19.2. Арифметические операторы ActionScript
Оператор |
Описание |
- |
Смена знака числа |
+ |
Сложение |
- |
Вычитание |
* |
Умножение |
/ |
Деление |
% |
Остаток от деления |
++ |
Инкремент (увеличение на единицу) |
-- |
Декремент (уменьшение на единицу) |
Арифметические операторы делятся на две группы: унарные и бинарные. Унарные операторы выполняются над одним операндом; к ним относятся операторы смены знака, инкремента и декремента. Унарный оператор извлекает из переменной значение, изменяет его и снова помещает в ту же переменную. Приведем пример выражения с унарным оператором: