Мы можем присвоить любому элементу массива другой массив (или, как говорят опытные программисты, создать
someArray[2] = ["nl", "n2", "n3"];
После этого можно получить доступ к любому элементу вложенного массива, указав последовательно оба индекса:
stг = someArray[2][1];
Переменная
Оператор
Ссылки
Осталось рассмотреть еще один момент, связанный с организацией программного доступа к данным. Это так называемые
Когда мы создаем массив, Flash выделяет под него область памяти и помещает в нее значения элементов этого массива. Но в переменную, которой мы присвоили вновь созданный массив, помещается не сама эта область памяти, а ссылка на нее. Если теперь обратиться к какому-либо элементу этого массива, Flash извлечет из переменной ссылку, по ней найдет нужную область памяти, вычислит местонахождение нужного элемента и вернет его значение.
Далее, если мы присвоим переменную массива другой переменной, будет выполнено присвоение именно ссылки. В результате получатся две переменные, ссылающиеся на одну область памяти, хранящую сам этот массив.
Рассмотрим такой пример:
var myArray = ["Flash", "MX 2004"];
var newArray = myArray;
Здесь создается массив
myArray[1] = "8";
и обратимся к нему через переменную
s = newArray[1];
то переменная
Объекты
Итак, мы познакомились с типами данных, переменными, константами, операторами, действиями, простыми и сложными выражениями, функциями и массивами. Теперь настала пора узнать о самых сложных структурах данных ActionScript — объектах.
Понятия объекта и экземпляра
Собственно, сам объект — это всего лишь тип данных, такой же, как числовой или строковый, т. е. некое абстрактное описание, включающее в себя набор свойств и методов. От объекта порождаются конкретные его "представители" —
Объект можно представить себе как некий прибор, снабженный набором регуляторов и кнопок. Регуляторы задают значения свойств, а кнопки запускают на выполнение методы. Мы можем заполучить один из приборов данного типа (экземпляр), выставить нужные значения свойств с помощью регуляторов и нажать какую-либо кнопку, инициировав выполнение соответствующего метода. Внутреннее устройство этого прибора от нас скрыто, мы не знаем, что у него внутри, для нас важно только одно — чтобы он выполнял свою задачу.
Теперь давайте вернемся к нашему любимому Flash. Любой клип на его рабочем листе фактически является экземпляром объекта
someClip.width = 200;
someClip.gotoAndPlay(3);
Здесь мы обратились к методу и свойству объекта
Итак, с теорией мы разобрались. Приступим теперь к практической работе с объектами и их экземплярами.
Работа с объектами и их экземплярами
Перед тем как начать работу с экземпляром какого-либо объекта, его нужно создать. Создание экземпляра объекта выполняется с помощью оператора