Читаем Macromedia Flash Professional 8. Графика и анимация полностью

Мы можем присвоить любому элементу массива другой массив (или, как говорят опытные программисты, создать вложенный массив).

someArray[2] = ["nl", "n2", "n3"];

После этого можно получить доступ к любому элементу вложенного массива, указав последовательно оба индекса:

stг = someArray[2][1];

Переменная str получит в качестве значения строку, содержащуюся во втором элементе вложенного массива, — "n2".

Оператор typeof возвращает для массива строку "object". Это значит, что массив имеет объектный тип (об объектах см. далее в этой главе).

Ссылки

Осталось рассмотреть еще один момент, связанный с организацией программного доступа к данным. Это так называемые ссылки — своего рода указатели на массивы и объекты, в действительности хранящиеся в соответствующих им переменных (мы обязательно столкнемся с ними, когда начнем работать с массивами и объектами).

Когда мы создаем массив, Flash выделяет под него область памяти и помещает в нее значения элементов этого массива. Но в переменную, которой мы присвоили вновь созданный массив, помещается не сама эта область памяти, а ссылка на нее. Если теперь обратиться к какому-либо элементу этого массива, Flash извлечет из переменной ссылку, по ней найдет нужную область памяти, вычислит местонахождение нужного элемента и вернет его значение.

Далее, если мы присвоим переменную массива другой переменной, будет выполнено присвоение именно ссылки. В результате получатся две переменные, ссылающиеся на одну область памяти, хранящую сам этот массив.

Рассмотрим такой пример:

var myArray = ["Flash", "MX 2004"];

var newArray = myArray;

Здесь создается массив myArray с двумя элементами и далее он присваивается переменной newArray (при этом данная переменная получает ссылку на массив). Если потом мы присвоим новое значение второму элементу массива myArray:

myArray[1] = "8";

и обратимся к нему через переменную newArray:

s = newArray[1];

то переменная s получит строку "8" — новое значение второго элемента этого массива. Т. е. фактически переменные myArray и newArray указывают на один и тот же массив.

Объекты

Итак, мы познакомились с типами данных, переменными, константами, операторами, действиями, простыми и сложными выражениями, функциями и массивами. Теперь настала пора узнать о самых сложных структурах данных ActionScript — объектах.

Понятия объекта и экземпляра

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

Собственно, сам объект — это всего лишь тип данных, такой же, как числовой или строковый, т. е. некое абстрактное описание, включающее в себя набор свойств и методов. От объекта порождаются конкретные его "представители" — экземпляры объекта. Не правда ли, напрашивается аналогия образца и созданных на его основе экземпляров?

Объект можно представить себе как некий прибор, снабженный набором регуляторов и кнопок. Регуляторы задают значения свойств, а кнопки запускают на выполнение методы. Мы можем заполучить один из приборов данного типа (экземпляр), выставить нужные значения свойств с помощью регуляторов и нажать какую-либо кнопку, инициировав выполнение соответствующего метода. Внутреннее устройство этого прибора от нас скрыто, мы не знаем, что у него внутри, для нас важно только одно — чтобы он выполнял свою задачу.

Теперь давайте вернемся к нашему любимому Flash. Любой клип на его рабочем листе фактически является экземпляром объекта movieClip (об этом объекте мы поговорим далее в этой главе). Пусть имеется клип someClip, обладающий свойством width (ширина) и методом gotoAndPlay, запускающим воспроизведение анимации этого клипа с какого-то кадра. Тогда можно написать такой сценарий:

someClip.width = 200;

someClip.gotoAndPlay(3);

Здесь мы обратились к методу и свойству объекта someClip, использовав уже знакомый нам синтаксис "с точкой". А именно, отделили точкой имя объекта от имени свойства (метода).

Итак, с теорией мы разобрались. Приступим теперь к практической работе с объектами и их экземплярами.

Работа с объектами и их экземплярами

Перед тем как начать работу с экземпляром какого-либо объекта, его нужно создать. Создание экземпляра объекта выполняется с помощью оператора new:

<Переменная> = new <Имя объекта>([<Список параметров, разделенных запятыми>])

Перейти на страницу:

Похожие книги

SAP R/3 Системное администрирование
SAP R/3 Системное администрирование

Эта книга полностью обновлена и тщательно пересмотрена. Она является необходимым пособием для руководителей информационных служб, технических консультантов и системных администраторов R/3, которые хотят иметь полное представление об администрировании Basis.Знания, полученные "из первых рук" РѕС' различных специалистов SAP Global Support, работавших над реализацией более 20000 систем R/3, служат РѕСЃРЅРѕРІРѕР№ этой книги, которая научит выполнять все критически важные задачи системного администрирования с оптимальной эффективностью. Она учит быстро принимать правильные решения в сложных ситуациях, используя рекомендации экспертов и ценные рекомендации из реального мира, которые делают это уникальное РїРѕСЃРѕР±ие необходимым для повседневного использования.Кроме всего прочего, эта книга является ценным источником, помогающим подготовиться к экзамену СТС (Certified Technical Consultant) no R/3 Release 4.6C и Enterprise.Р' руководстве рассмотрены:# Настройка системной инфраструктуры.# Администрирование клиента.# Пользователи и полномочия.# Фоновая обработка.# Архивирование данных.# Администрирование спула.# Обслуживание инстанций.# Системный мониторинг.Р

Лиане Вилл , Сигрид Хагеман

Зарубежная компьютерная, околокомпьютерная литература
Цифровой журнал «Компьютерра» № 29
Цифровой журнал «Компьютерра» № 29

ОглавлениеБольшие новостиВиноватого в проблемах iPhone 4 уволили из Apple Автор: Михаил КарповВ Microsoft работают над новой мобильной ОС? Автор: Михаил КарповSkype проведёт первичное размещение акций на бирже Автор: Михаил КарповGoogle закупает беспилотники Автор: Юрий ИльинБилл Гейтс похоронил университеты Автор: Михаил КарповКосмические пираты уничтожили 1295 долларов Автор: Михаил КарповGoogle сговорился с телекомами Автор: Михаил КарповПолиция провела обыск корейского офиса Google Автор: Михаил КарповMicrosoft призывает не переходить на Mac Автор: Михаил КарповПланшет HP на основе WebOS появится в начале 2011 года Автор: Михаил КарповZeus: вирус, который грабит банки Автор: Юрий ИльинКак спасти Microsoft Автор: Андрей ПисьменныйОснователь 4chan рассказал суду о троллях и ньюфагах Автор: Михаил КарповПорностудия судится с пиратами Автор: Михаил КарповLenovo: четыре туза и джокер Автор: Юрий ИльинЧто Apple покажет на конференции в сентябре? Автор: Михаил КарповНа Android сделают телефон-игровую приставку Автор: Михаил КарповOracle атаковал Google и Android Автор: Юрий ИльинКому достанутся дополнительные частоты LTE Автор: Максим БукинТерралабПромзона: Гибридный велосипед Автор: Николай МаслухинСофт: Как настроить модем 3G в Ubuntu Автор: Крестников ЕвгенийПромзона: Походный фильтр для воды Автор: Николай МаслухинСофт: Как устранить эффект красных глаз в Pixelmator Автор: Скрылина СофьяПромзона: Энергетический фонтан Автор: Николай МаслухинСофт: Превращаем Firefox в удобный инструмент Автор: Роман БобылевПромзона: Сенсорный торговый автомат из Японии Автор: Николай МаслухинRaskin — попытка реализации масштабирующегося интерфейса Автор: Андрей ПисьменныйПромзона: Телефон с двумя экранами Автор: Николай МаслухинСофт: Как найти звезду с помощью Android Автор: Николай МаслухинСвоя играВасилий Щепетнёв: Эра Старика Прохазки Автор: Василий ЩепетневКафедра Ваннаха: Требуется военная клиометрия Автор: Ваннах МихаилКивино гнездо: В постели со шпионами Автор: Берд КивиВасилий Щепетнёв: Планы на будущее Автор: Василий ЩепетневКафедра Ваннаха: Свёртка реки Хроноса Автор: Ваннах МихаилИнтерактивАндрей Терехов (РУССОФТ) о русском аутсорсинге Автор: Ирина МатюшонокАналитик Михаил Елашкин о конфликте Oracle и Google Автор: Крестников ЕвгенийReaDitorialТехномир – новая мутация цивилизации Автор: Алексей СысоевИдентификация, абстрагирование, смысл Автор: Юрий ГуськовГолубятня-ОнлайнГолубятня: Интерактив №5 Автор: Сергей ГолубицкийГолубятня: Абсолютная власть Автор: Сергей ГолубицкийГолубятня: 20 килобайтиков Автор: Сергей Голубицкий

Журнал «Компьютерра»

Зарубежная компьютерная, околокомпьютерная литература