Руководство по actionscript. часть 2, стр. 027

Переменная length

Чтобы расширить массив, не присваивая значений новым элементам, можно просто увеличить значение переменной length, а среда выполнения Flash добавит необходимое количество элементов для достижения указанной длины:

// Создаем массив с тремя элементами var colors = ["green", "red", "blue"];

// Добавляем в массив 47 незаполненных элементов с индексами от 3 до 49 colors. length = 50;

Этот подход можно использовать для создания определенного количества незаполненных элементов, которые будут хранить собираемые данные, например результаты тестов, выполняемых студентами. Хотя элементы являются незаполненными, они позволяют определить, что ожидаемое значение еще не было присвоено. Например, цикл, отображающий результаты тестов на экране, может выводить стандартное сообщение No Score Available (Результат недоступен) для незаполненных элементов.

Методы класса Array

Для выполнения более сложных операций по добавлению элементов можно использовать методы класса Array.

Метод push()

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

массив. риьМэлемент!, элемент2… элемент);

В предыдущем коде массив — это ссылка на объект класса Array, а элемент1, эле-мент2. . . элемент — это список элементов, разделенных запятыми, которые добавляются в конец массива и представляют новые элементы. Вот несколько примеров:

// Создаем массив с двумя переменными var menultems:Array = ["home", "quit"];

// Добавляем элемент menultems. push(«products»);

// Массив menultems теперь выглядит так: ["home", "quit", "products"]

// Добавляем два новых элемента

menultems. pushC’services». «contact»);

// Теперь массив menultems выглядит так:

// ["home", "quit", "products", "services", "contact"]

Метод push ( ) возвращает новую длину измененного массива (то есть значение переменной length):

var list:Array = [12. 23. 98]: trace(myList. push(28. 36)):

// Добавляет в массив list значения 28 и 36 и выводит 5

Обратите внимание, что элементы, добавляемые в список, могут быть представлены любым выражением. Выражение вычисляется до того, как элемент будет добавлен в список:

var temperature:int = 22: var sky:String = «sunny»; var weatherListing:Array = new Array( );

// Добавляем значения 22 и «sunny» в массив weatherListing. push(temperature, sky);

Проталкивание, выталкивание и стеки. Метод push ( ) берет свое название из концепции программирования, которая называется стеком. Стек может рассматриваться как вертикальный массив, аналогичный стопке тарелок. Если вы часто посещаете кафетерии или рестораны с буфетами, вам должны быть знакомы пружинные подставки, которые удерживают тарелки для клиентов. Когда появляются чистые тарелки, они буквально проталкиваются на вершину стека, при этом те тарелки, которые уже находились в подставке, опускаются ниже. Когда клиент выталкивает тарелку с вершины стека, он забирает тарелку, которая была добавлена в стек самой последней. Этот тип стека называется «последним пришел — первым вышел» (last-in-first-out — LIFO) и обычно применяется для реализации, например, списков предыстории. Например, если вы нажмете кнопку Назад в своем браузере, то откроется предыдущая просмотренная страница. Если снова нажать кнопку Назад, то откроется страница, которая просматривалась перед предыдущей, и т. д. Такое поведение достигается путем проталкивания URL-адреса каждой просматриваемой страницы в стек и последующего выталкивания адреса из стека при нажатии кнопки Назад.

Руководство по actionscript. часть 2, стр. 028

Примеры LIFO-стеков можно найти и в реальной жизни. Человек, последним сдавший багаж при посадке на самолет, после приземления самолета обычно получает свой багаж первым, поскольку разгрузка багажа осуществляется в порядке, обратном погрузке. Пассажир, сдавший свой багаж первым, после приземления самолета будет вынуждена простоять у ленты багажного транспортера дольше всех.

Стек типа «первым пришел — первым вышел» (first-in-first-out — FIFO) является более эгалитарным. В основе его функционирования лежит обслуживание в порядке поступления. Примером FIFO-стека является очередь в банке. FIFO-стек работает не с последним элементом массива, а с первым. После этого первый элемент массива удаляется, а все оставшиеся элементы «продвигаются» точно так же, как

продвигается очередь, когда человек, стоявший перед вами, «удаляется» (то есть либо он покинул очередь после того, как был обслужен, либо он решил покинуть очередь раньше времени, устав от ожидания). Таким образом, слово «проталкивать» обычно применяется в отношении LIFO-стека, тогда как слово «добавлять» применяется в отношении FIFO-стека. В любом случае элементы добавляются в «конец» стека. Разница заключается в том, какой конец массива хранит элемент для следующей операции.

Метод unshift()

Метод unshif t ( ) во многом похож на метод push ( ), однако он добавляет один или несколько элементов в начало массива, смещая существующие элементы для освобождения пространства (то есть увеличивает индексы существующих элементов, чтобы разместить новые элементы в начале массива). Метод unshi f t ( ) имеет следующий обобщенный вид:

массив. unshi ft(элемент1, элемент2… элемента):

В приведенном коде массив — это ссылка на объект класса Array, а элемент1, эле-мент2. . . элемента — список элементов, разделенных запятыми, которые добавляются в начало массива и представляют новые элементы. Обратите внимание, что элементы добавляются в том порядке, в котором они передаются в метод. Рассмотрим несколько примеров:

var versions:Array = new Array( ); versions[0] = 6:

versions. unshift(5): // Массив versions выглядит так: [5. 6] versions. unshift(2.3.4): // Массив versions выглядит так: [2. 3. 4. 5. 6]

Метод unshif t ( ), как и метод push ( ), возвращает длину увеличенного массива.

Метод splicef)

Метод splice ( ) позволяет добавлять в массив или удалять из него элементы. Этот метод обычно применяется для вставки элементов в середину массива (при этом элементы, находящиеся после точки вставки, перенумеровываются, чтобы освободить пространство для добавляемых элементов) или для удаления элементов из середины массива (при этом перенумеровываются элементы, находящиеся после удаляемых элементов, для ликвидации образовавшегося промежутка). Если обе задачи выполняются одновременно за один вызов метода splice ( ), некоторые элементы массива фактически заменяются новыми элементами (хотя количество добавляемых и удаляемых элементов может не совпадать). Метод sp 1 i се ( ) имеет следующий обобщенный вид:

массив.$рМсе(начальныйИндекс. количествоУдаляемыхЭлементов, элемент1, элемент2… элемента);

В предыдущем коде массив — это ссылка на объект класса Array; начальныйИн-декс — число, определяющее индекс, начиная с которого будут выполняться удаление и необязательное добавление элементов (помните, что индексом первого элемента является 0); количествоУдаляемыхЭлементов — необязательный аргумент, который определяет количество удаляемых элементов (включая элемент с индексом

начальныйИндекс). Если аргумент количествоУдаляемыхЭлементов опущен, все элементы, расположенные после элемента с индексом начальныйИндекс, включая сам элемент с данным индексом, будут удалены. Необязательные параметры элемент1, эле-мент2. . . элементп — объекты, добавляемые в массив в качестве элементов, начиная с индекса начальныйИндекс.

Руководство по actionscript. часть 2, стр. 029

Листинг 11.3 демонстрирует разносторонность метода splice ( ).

Листинг 11.3. Использование метода splice() класса Array

// Создание массива

var months:Array = new Array(«January». «Friday».

«April». «May». «Sunday». «Monday». «July»): // С нашим массивом что-то не в порядке. Подправим его. // Во-первых, избавимся от элемента «Friday», months. spliced.1): // Массив months теперь выглядит так: // ["January". "April". "May". "Sunday". "Monday". "July"]

// Теперь добавим два месяца перед элементом «April».

// Обратите внимание, что мы ничего не удаляем (deleteCount равен 0).

months. spliced. 0. «February». «March»);

// Массив months теперь выглядит так:

// ["January". "February". "March". "April".

// "May". "Sunday". "Monday". "July"]

// Наконец, удалим элементы «Sunday» и «Monday», одновременно

// добавив элемент «June».

Руководство по actionscript. часть 2, стр. 030

Months. splice(5. 2, «June»):

// Массив months теперь выглядит так:

// ["January". "February". "March". "April". "May". "June". "July"]

// Теперь, когда массив months приведен в порядок, обрежем его. // чтобы остались только названия месяцев первого квартала года. // удалив все элементы, начиная с индекса 3 (то есть «April»), months. spliceO): // Теперь массив months выглядит так: // ["January". "February". "March"]

Метод splice ( ) возвращает массив удаленных элементов. Таким образом, этот метод можно использовать для извлечения набора элементов из массива:

var letters:Array = ["a", "b". "с", "d"]: tracedetters. spliced. 2)): // Выводит: «b. c»

// Массив letters теперь выглядит так:

// ["a", "d"]

Если никакие элементы не удалены, то метод splice ( ) возвращает пустой массив (то есть массив без элементов).

Метод сопсаЦ)

Метод concat ( ) объединяет два или более массива в один новый массив, возвращаемый данным методом. Метод имеет следующий обобщенный вид:

исходныйМассив. concat(списокЭлементов)

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

var listl:Array = new Arraydl. 12. 13);

var list2:Array = listl. concat(14. 15); // Массив list2 теперь выглядит так:

// [11. 12. 13. 14. 15]

В следующем примере метод conca t ( ) используется для объединения двух массивов:

var guests:Array = ["Panda". "Dave"];

var registeredPlayers:Array = ["Gray". "Doomtrooper", "TRK9"];

var all Users:Array = registeredPlayers. concat(guests);

// Массив allUsers теперь выглядит так:

// ["Gray". "Doomtrooper". "TRK9". "Panda". "Dave"]

Обратите внимание, что при добавлении массива guests к массиву allUsers метод concat ( ) разбил массив guests на составляющие, или, иначе говоря, «выпрямил» его. Иными словами, каждый элемент массива guests был добавлен к массиву allUsers по отдельности. Тем не менее метод concat ( ) не «выпрямляет» вложенные массивы (элементы, которые сами являются массивами внутри основного массива), как показано в следующем коде:

var x:Array = [1. 2. 3];

var y:Array = [[5. 6]. [7. 8]];

var z:Array = x. concat(y); // Результат: [1. 2, 3. [5. 6]. [7. 8]].

Руководство по actionscript. часть 2, стр. 031

// Элементы массива у с индексами 0 и 1 // не были «выпрямлены»

Удаление элементов из массива

Для удаления элементов из массива можно воспользоваться одним из следующих способов.

? Удалить определенный элемент с помощью оператора delete.

? Уменьшить значение переменной массива length.

? Вызвать методы pop ( ), shift ( ) или splice ( ) над массивом.

Рассмотрим подробнее перечисленные способы.

Оператор delete

Оператор delete присваивает элементу массива значение undefined, используя следующий синтаксис:

delete массив[индекс]

В этом коде массив — это ссылка на массив, а индекс — номер или имя элемента, которому должно быть присвоено значение undefined. Название оператора

delete, откровенно говоря, вводит в заблуждение. Этот оператор не удаляет нумерованный элемент из массива; он просто присваивает указанному элементу значение undefined. Таким образом, операция delete аналогична присваиванию значения undefined элементу массива. В этом легко удостовериться, сравнив значения переменной массива length до и после удаления одного из его элементов:

var list = ["a", "b", "с"]: tracedist. length); // Выводит: 3 delete list[2];

tracedist. length); // По-прежнему отображает 3. Элемент с индексом 2 // вместо значения «с» содержит значение undefined. // но все же этот элемент существует

Чтобы удалить элементы на самом деле, используйте метод splice ( ) (для удаления элементов из середины массива) или методы shift ( ) и pop ( ) (для удаления элементов с начала или конца массива соответственно).

Руководство по actionscript. часть 2, стр. 032

Переменная length

Чтобы удалить элементы в конце массива (то есть обрезать массив), можно присвоить переменной массива length значение меньше, чем ее текущее значение:

var toppings:Array = ["pepperoni". "tomatoes".

"cheese", "green pepper", "broccoli"];

toppings. length = 3;

trace(toppings); // Выводит: «pepperoni. tomatoes, cheese»

// Мы обрезали элементы с индексами 3 и 4 (последние два)

Методы класса Array

Массивы обладают несколькими встроенными методами для удаления элементов. Мы уже видели, как с помощью метода splice ( ) можно удалять несколько элементов из середины массива. Методы pop ( ) и shift ( ) применяются для удаления элементов в конце или начале массива.

Метод рор()

Метод pop ( ) является полной противоположностью метода push ( ): он удаляет последний элемент массива. Синтаксис метода pop ( ) очень прост:

массив. рор( )

Не знаю почему, но процесс «выталкивания» массива у меня всегда вызывает улыбку. Тем не менее метод pop ( ) уменьшает на единицу значение переменной массива length и возвращает значение удаляемого элемента. Например:

var numbers:Array = [56. 57. 58];

trace(numbers. pop( )); // Выводит: 58 (значение удаленного элемента) // Массив numbers теперь выглядит так: [56. 57]

Как было отмечено ранее, метод pop ( ) часто используется совместно с методом push ( ) для выполнения операций над LIFO-стеком.

Руководство по actionscript. часть 2, стр. 033

Метод shift!)

Помните метод unshi ft ( ), который применяется для добавления элемента в начало массива? Познакомьтесь с его близким другом — методом shif t ( ), который удаляет элемент с начала массива:

массив. shifti )

Как и pop ( ), метод shi f t ( ) возвращает значение удаляемого элемента. Все оставшиеся элементы в том же порядке продвигаются к началу массива. Например:

var sports:Array = ["quake", "snowboarding". "inline skating"]: trace(sports. shift( )); // Выводит: quake

// Массив sports теперь выглядит так:

// ["snowboarding". "inline skating"] trace(sports. shift( )); // Выводит: snowboarding

// Массив sports теперь выглядит так:

// ["inline skating"]

Поскольку метод shif t ( ) на самом деле удаляет элемент, он оказывается более полезным для удаления первого элемента из массива, чем оператор delete.

Метод splicef)

В одном из предыдущих разделов мы познакомились с возможностями метода splice ( ) по удалению из массива и добавлению в него элементов. Поскольку метод splice ( ) был рассмотрен достаточно подробно, мы не будем пересматривать его в этом разделе. Тем не менее для информации следующий код демонстрирует возможности метода splice ( ) по удалению элементов:

var letters:Array = ["a", "b". "с", "d". "е". "f"];

// Удаляем элементы с индексами 1. 2 и 3. оставляя ["а", "е". "f"]

letters. spliced. 3);

// Удаляем все элементы, начиная с индекса 1. оставив только ["а"] letters. spliced);

Проверка содержимого массива с помощью метода toString()

Метод toS tring ( ), характерный для всех объектов, возвращает строковое представление того объекта, над которым он был вызван. В случае с объектом класса Array метод toS tring ( ) возвращает список элементов массива, преобразованных в строки и разделенных запятыми. Метод toS tring ( ) можно вызывать явно, как показано в следующем коде:

массив. toStnugi )

Однако обычно метод toString ( ) не вызывается явно; вместо этого он вызывается автоматически всякий раз, когда массив массив используется в строковом контексте. Например, выражение trace (массив) после отладки отобразит список значений элементов массива, разделенных запятыми. Выражение trace (массив) эквивалентно выражению trace (массив. toString ( ) ).

Руководство по actionscript. часть 2, стр. 034

Метод toString ( ) часто оказывается полезным при отладке, когда необходимо получить быструю, неформатированную информацию об элементах, содержащихся в массиве. Например:

var sites = ["www. moock. org", "www. adobe. com", "www. oreilly. com"]; traceCThe sites array is » + sites);

Стоит отметить, что метод j oin ( ) предоставляет более широкие возможности по форматированию информации, чем toString ( ). Более подробные сведения можно получить в справочнике по языку ActionScript корпорации Adobe.

Многомерные массивы

До сих пор мы рассматривали только одномерные массивы, которые аналогичны одной строке или одному столбцу в электронной таблице. Что же делать в том случае, если мы захотим создать эквивалент электронной таблицы с несколькими строками и столбцами? Нам понадобится второе измерение. Язык ActionScript в прямом виде поддерживает только одномерные массивы, однако мы можем имитировать многомерный массив, создав массивы внутри массивов. Другими словами, мы можем создавать массивы, элементами которых являются другие массивы (иногда называемые вложенными).

Простейшим типом многомерного массива является двумерный массив, элементы которого концептуально организованы в виде сетки со строками и столбцами. Первое измерение массива представляет строки, а второе — столбцы.

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

var rowl:Array = [6. 2.99]; // Количество 6. Цена 2.99 var row2:Array = [4. 9.99]; // Количество 4, Цена 9.99 var row3:Array = [1. 59.99]; // Количество 1. Цена 59.99

Затем мы помещаем созданные строки в массив-контейнер с именем spreadsheet: var spreadsheet:Array = [rowl, row2, row3];

Теперь мы можем найти общую сумму заказа, перемножив значения количества и цены для каждой строки и сложив получившиеся произведения. Для обращения к элементам двумерного массива используются два индекса (один индекс обозначает строку, другой — столбец). Выражение spreadsheet [0], например, представляет первую строку массива, состоящего из двух столбцов. Таким образом, чтобы обратиться ко второму столбцу первой строки массива spreadsheet, мы используем выражение spreadsheet [0] [1] (оно вернет значение 2,99). Общая стоимость товаров, содержащихся в массиве spreadsheet, вычисляется следующим образом:

// Создаем переменную для хранения общей стоимости заказа, var total:Number;

// Теперь определяем стоимость заказа. Для каждой строки перемножаем // значения столбцов, а полученное произведение прибавляем к значению // переменной total.

for (var i:int = 0; i < spreadsheet.length; i++) { total += spreadsheet[i][0] * spreadsheet[i][l];

}

trace(total); // Выводит: 117.89

Переходим к событиям

В этой главе дано общее представление о массивах, однако предложенная информация не является исчерпывающей. Класс Array обладает множеством полезных методов для переупорядочения и сортировки элементов массива, фильтрации элементов, преобразования элементов в строки и извлечения массивов из других массивов. Более детальное описание класса Array можно найти в справочнике по языку ActionScript корпорации Adobe.

Руководство по actionscript. часть 2, стр. 035

Следующей темой изучения является обработка событий — встроенная система для управления взаимодействием между объектами.

ГЛАВА 12

События и обработка событий

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

В ActionScript события используются повсеместно. На самом деле в программе, написанной полностью на языке ActionScript, сразу после того, как метод-конструктор основного класса завершает свою работу, выполнение оставшейся части кода инициируется посредством событий. Таким образом, ActionScript поддерживает событийную модель с широкими возможностями, составляющую основу не только для предопределенных, но и для пользовательских событий.

Событийная модель языка ActionScript основана на спецификации W3C Document Object л * Model (DOM) Level 3, доступной по адресу http://www. w3.org/TR/DOM-Level-3-Events.

В этой главе рассматриваются основы событийной модели языка ActionScript, включая обработку предопределенных событий и реализацию пользовательских событий в программе. Стоит отметить, однако, что в этой главе описываются только основы работы с событиями. Позднее, в гл. 21, будет рассказано, каким образом событийная модель языка ActionScript обеспечивает отображение объектов (объектов, представляющих экранное содержимое). Затем в гл. 22 будет описано все многообразие предопределенных событий пользовательского ввода.

Основы обработки событий в ActionScript

Для обработки событий (реакции на события) в программе на языке ActionScript используются приемники событий. Приемник событий — это функция или метод, которые выполняются при возникновении определенного события. Они называются так потому, что, по существу, ожидают возникновения событий (или, иначе говоря, принимают возникающие события). Чтобы сообщить программе, что возникло определенное событие, среда выполнения Flash вызывает все приемники событий, которые были зарегистрированы на получение информации о возникновении этого события. Описанный процесс нотификации называется диспетчеризацией события.

Перед началом диспетчеризации очередного события среда выполнения создает объект, называемый событийным объектом, который представляет данное событие. Событийный объект всегда является экземпляром класса Event или одного из его потомков. Все приемники событий, выполняемые в процессе диспетчеризации события, получают в качестве аргумента событийный объект. Любой приемник может использовать переменные событийного объекта для получения информации, касающейся произошедшего события. Например, приемник события, которое представляет активность мыши, может использовать переменные событийного объекта, чтобы определить положение указателя мыши в момент возникновения события.

Каждому типу событий в языке ActionScript, будь то предопределенные или пользовательские события, присваивается строковое имя. Например, именем события типа «щелчок кнопкой мыши» является «click». В процессе диспетчеризации события имя обрабатываемого события может быть получено через переменную type событийного объекта, передаваемого в каждый приемник.

Каждая диспетчеризация события в языке ActionScript обладает получателем, представляющим объект, которому принадлежит данное событие. Например, для событий ввода получателем события обычно является объект, над которым выполнялись определенные действия (щелкнули кнопкой мыши, ввели информацию, переместили указатель мыши и т. д.). Подобным образом для сетевых событий получателем события обычно является объект, вызвавший сетевую операцию.

Для получения информации о возникновении определенного события приемники обычно регистрируются в получателе события. Соответственно, все объекты получателей событий являются экземплярами класса, унаследованного от класса EventDispatcher или реализующего интерфейс IEventDispatcher. Класс EventDispatcher предоставляет методы для регистрации и отмены регистрации приемников событий (addEventListener ( ) и removeEventListener ( ) соответственно).

Руководство по actionscript. часть 2, стр. 036

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

Регистрация приемника события для получения информации о событии

Основной процесс обработки события в ActionScript заключается в выполнении следующих действий.

1. Определить имя типа события.

2. Определить тип данных событийного объекта, представляющего событие.

3. Создать приемник, отвечающий на событие. Приемник события должен определять один параметр, соответствующий типу данных событийного объекта (тип данных был определен на предыдущем шаге).

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

5. Откинуться на спинку кресла и ожидать возникновения события.

Рассмотрим описанные шаги на примере: создадим и зарегистрируем приемник для предопределенного события 11 complete».

Шаг 1: Определение имени типа события

Клиентские среды выполнения Flash предлагают широкий выбор типов предопределенных событий, начиная с пользовательского ввода и заканчивая сетевой и звуковой активностью. Имя каждого типа события доступно через константу класса Event или одного из его потомков. Например, константой для типа события «операция завершена» является Event. COMPLETE со строковым значением «complete» . Подобным образом константа для события типа «кнопка мыши нажата» называется MouseEvent. MOUSE DOWN, строковым значением которой является «mouseDown».

Чтобы иметь возможность реагировать на конкретный тип предопределенного события, мы сначала должны найти константу, представляющую это событие. В справочнике по языку ActionScript корпорации Adobe константы событий перечислены в разделе Events для каждого класса, поддерживающего события (то есть унаследованного от класса EventDispatcher). Таким образом, чтобы найти константу для конкретного предопределенного события, мы обращаемся к разделу Events документации по тому классу, которому принадлежит это событие.

Предположим, что мы загружаем внешний текстовый файл с помощью класса URLLoader и хотим выполнить некоторый код по завершению загрузки. Мы обращаемся к разделу Events документации по классу URLLoader, чтобы определить, есть ли у него подходящее нам событие «загрузка завершена». В разделе Events мы находим описание события «complete», которое, кажется, нам подходит. Описание события «complete» выглядит следующим образом.



Полезные ссылки
Случайные записи
  • 08.03.2011">Руководство по actionscript. часть 4, стр. 075
  • 23.11.2018">Игровой автомат The Invisible Man в Граф казино
  • 09.03.2011">Руководство по actionscript. часть 4, стр. 059
  • 11.03.2011">Руководство по actionscript. часть 4, стр. 003
  • 02.04.2012">Хакеры LulzSec Reborn рассказали о планах на будущее
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.86
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.90
  • 23.07.2011">Обновление линейки Aspire One
  • 16.03.2011">Руководство по actionscript. часть 3, стр. 021
  • 19.03.2011">Руководство по actionscript. часть 2, стр. 104
  • 09.03.2011">Руководство по actionscript. часть 4, стр. 070
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.75
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.67
  • 04.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.6
  • 07.05.2012">Самыми вредоносными сайтами являются религиозные, а не порнографические
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...