Иллюстрированный самоучитель по созданию Flash-игр
Hosted by uCoz
 

Урок 14. Массивы

Никакое введение в язык программирования не было бы полным без рассмотрения массивов. Хотя множество простых операций может быть выполнено без применения массивов, человек, не умеющий работать с массивами, не может считаться настоящим программистом.
Массив является разновидностью переменной. Переменные, которые вы использовали до сих пор, могут содержать одно значение: число или строку. Массив может содержать ни одного, одно и больше значений. Создайте учебный файл и посмотрите с помощью команды  trace();  действия с массивом: 

myArray = ["Apple", "Orange", "Peach", "Plum"];

Для обращения к элементу массива используется специальный синтаксис:

myItem = myArray [1];

Переменная myItem будет иметь значение "Orange", так как отсчет положений в массивах, так же как и в строках, начинается с 0.
Несложно догадаться, что массивы применяются для хранения множества однотипных данных. Для выполнения операций над массивами предназначено несколько функций. Прежде всего, давайте рассмотрим, как создаются массивы. Это можно сделать несколькими способами. До сих пор мы рассматривали только способ, при котором все элементы массива задаются сразу. Вы также можете создать пустой массив и добавлять в него элементы:

myArray = new Array();
myArray.push("Apple");
myArray.push("Orange");
myArray.push("Peach");
myArray.push("Plum");

Первая строка данного кода создает пустой массив. Каждая из следующих четырех строк добавляет в массив один элемент при помоши команды push. По сравнению со способом "все сразу" данный способ кажется более сложным, однако он незаменим при построении массивов, все элементы которого не известны заранее. Например, вы можете позволить пользователю ввести данные, а затем добавить их в массив.
Длину массива можно узнать так же, как и длину строки:

myLength = myArray.length;

Вы уже знаете, как получить доступ к отдельному элементу массива при помоши квадратных скобок. Используя команду pop, вы сможете взять из массива значение последнего размещенного там элемента. При этом из массива он удаляется. В нашем примере мы передаем его в окно Output. Следующий сегмент кода добавляет в массив четыре элемента, а затем, используя цикл while, удаляет конечные элементы массива и перемещает их в окно Output:

myArray = new Array();
myArray.push("Apple");
myArray.push("Orange");
myArray.push("Peach");
myArray.push("Plum"); while (myArray.length>0) ( trace (myArray.pop());

Первой строкой в окне Output является "Plum", последней- "Apple", так как команда pop берет элементы в порядке, обратном помещению элементов массива {стековая схема: "последний вошел, первый вышел" -First In Last Out).
Массивы можно упорядочить. В случае, если элементами массива являются числа, Flash упорядочит их в цифровой последовательности. Если это строки, они будут упорядочены по алфавиту:

myArray = new Array ();
myArray.push("Peach");
myArray.push("Orange");
myArray.push("Apple");
myArray.push("Plum");
myArray.sort();
trace(myArray.toString());

Обратите внимание на последнюю строку кода, которая содержит функцию tostring для приведения массива к виду, пригодному для отображения в окне Output, то есть преобразует все элементы массива в строку. При помоши данной функции вы можете убедиться в том, что массив соответствует вашим требованиям. Наконец, функция splice позволяет удалять один или несколько элементов из массива:

myArray = [ "Apple", "Orange", "Peach", "Plum" ] ;
myArray.splice(2,1);

Команда splice может выполнять несколько функций. В данном примере она содержит два параметра. Первый задает позицию, с которой начинается удаление элементов (считая от 0!), второй - количество удаляемых элементов. В нашем случае будет удален элемент "Peach", находящийся в позиции 2. Изменив второй параметр на 2, вы удалите и " Peach" и "Plum". Убрав второй параметр, вы удалите все элементы массива.
Функция splice используется также для добавления элементов. Добавляемый элемент задается третьим параметром:

myArray = [ "Apple", "Orange", "Peach" , "Plum" ] ;
myArray.splice(2,1, "Fear");

В данном примере удаляется элемент "Peach", а его место занимает элемент " Fear". Четвертый и последующие параметры используются для добавления второго и более элементов. В случае, если значение второго параметра окажется равно 0. никакие элементы удалены не будут. Теперь, когда у вас есть представление об основах ActionScript, самое время применить эти знания для создания вполне профессиональных фрагментов Flash-роликов. В следующей главе мы создадим несколько подобных фрагментов, и затем, начиная с главы 5 "Создание визуальных эффектов", приступим к написанию целых программ.