Обращение к параметрам двумерного массива

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
Ответить
Аватара пользователя
Ugly
Сообщения: 16
Зарегистрирован: 13 янв 2013, 11:03

Обращение к параметрам двумерного массива

Сообщение Ugly »

Собственно, проблема описана в названии.
Вот я создал двумерный массив:

Код: Выделить всё

    var dxy = 80;        var row:Array = new Array();         var fieldAr:Array = new Array(); for (var i = 0; i < 27; i++) {                fieldAr[i] = row;                for (var j = 0; j < 9; j++) {                    row[j] = new Square();                    addChild(row[j]);                    row[j].x = j * dxy;                    row[j].y = i * dxy;                }            }
и всё вроде бы хорошо, объекты отображаются как надо, но при обращении к любому из них берется почему-то именно значение последней строки. При том столбцы (т.е. параметры массива "row") определяются правильно, но строка (т.е. сам массив "row") выбирается исключительно самый последний.
Обращаться пробую, к примеру, так:

Код: Выделить всё

 trace(fieldAr[14][2].x, fieldAr[14][2].y); 
Догадываюсь, что проблему едва ли можно назвать проблемой и решается она в одно действие, но что-то никак допереть самому не получается.
Аватара пользователя
Ugly
Сообщения: 16
Зарегистрирован: 13 янв 2013, 11:03

Re: Обращение к параметрам двумерного массива

Сообщение Ugly »

Всё, спасибо, разобрался сам. Уже не первый раз допускаю подобную ошибку.
Casperovskii
Сообщения: 429
Зарегистрирован: 22 июн 2012, 17:50

Re: Обращение к параметрам двумерного массива

Сообщение Casperovskii »

Ugly
А косяк то в чем? И раз уж есть решение, может, нам его продемонстрируешь?
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Обращение к параметрам двумерного массива

Сообщение Alazaur »

Casperovskii, в этом:

Код: Выделить всё

fieldAr[i] = row; //Во все элементы передается один массив созданный до циклов

Код: Выделить всё

fieldAr[i] = new Array(); //Правильный вариант
Аватара пользователя
Ugly
Сообщения: 16
Зарегистрирован: 13 янв 2013, 11:03

Re: Обращение к параметрам двумерного массива

Сообщение Ugly »

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