Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ActionScript 2.0 ЛР.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Видимость переменных

Различают три вида переменных:

  • переменные временной шкалы (или переменные клипа) — объявляются в коде, связанном в каким-то кадром;

  • локальные переменные — объявляются внутри функций для временного хранения данных;

  • глобальные переменные — известны всем функциям.

Глобальные переменные объявляются с помощью описателя _global:

_global.x = 12;

Обратите внимание, что слово var здесь использовать не нужно, такие переменные рассматриваются как свойства объекта _global. К переменной x, которая объявлена выше, можно обращаться из любой функции и из кода любого клипа просто по имени.

Если в области видимости есть несколько переменных с одним и тем же именем, сначала ищется локальная переменная, затем — переменная текущего клипа, и только потом — глобальная переменная.

Переменные других клипов «не видны», для обращения к ним нужно указывать явно клип-родитель:

mc.x = 1;

_root.x = 12;

_parent.x = 123;

Присваивание

Для присваивания переменной нового значения используется знак =. Слева от него пишут имя переменной, а справа — выражение:

a = 4*(c + 2) + 3 / (r - 4*w) + d % 3;

Знак * обозначает умножение, знак / — деление, а % — взятие остатка от деления.

В выражении арифметические операции выполняются в следующем порядке:

  • действия в скобках;

  • умножение, деление и взятие остатка (слева направо);

  • сложение и вычитание (слева направо).

Этот порядок называется приоритетом (старшинством) арифметических операций.

Символьные строки можно «сцеплять» с помощью оператора +:

no = 20;

s = "Вася " + "пошёл гулять.";

qq = "Объект" + no;

Если в выражении участвуют разнотипные данные, происходит автоматическое преобразование к одному типу. Так в последней строке в переменную qq записывается строка Объект20.

Очень часто в программах используют операторы ++ (инкремент, увеличение переменной на 1, и -- (декремент, уменьшение переменной на 1). Операторы

i ++; k --;

означают то же самое, что

i = i + 1; k = k - 1;

Существует также сокращенная запись арифметических операций:

a += 20; b -= c - d; c *= a + b; d /= 2*c; f %= 12;

Этот код можно заменить на такие операторы в «нормальной» форме:

a = a + 20;

b = b - (c - d);

c = c * (a + b);

d = d / (2 * c);

f = f % 12

Объекты

Объект — это нечто, имеющее свойства и методы. В среде Flash существуют встроенные объекты (например, Array, MovieClip, Key). Кроме того, можно строить свои объекты:

var car = new Object();

car.v = 10;

car.year = 1998;

В среде Flash можно использовать объектно-ориентированное программирование, то есть создавать свои классы объектов, наделять их свойствами и методами.

Главная особенность объектов — это так называемая ссылочная адресация. То есть, при объявлении

var obj = new Object();

переменная obj хранит не сам объект, а только его адрес (ссылку на объект). Поэтому оператор присваивания

obj2 = obj;

не создает в памяти новый объект, который является копией объекта obj, а просто копирует адрес первого объекта в переменную obj2. После этого obj и obj2 указывают на один объект. Если мы хотим действительно построить копию объекта, адрес которого хранится в obj, можно сделать так:

var obj2 = new Object();

for ( prop in obj ) obj2[prop] = obj[prop];

Здесь в цикле перебираются все свойства первого объекта и копируются во второй. Переменная prop (символьная строка) — это название очередного свойства. Запись obj[prop] означает «свойство объекта obj, название которого хранится в prop».

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]