Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Не удается правильно заполнить элементы двумерного массива (http://www.flasher.ru/forum/showthread.php?t=128085)

mooncar 29.07.2009 22:31

Не удается правильно заполнить элементы двумерного массива
 
Двумерные массивы уже обсуждались, но не получается правильно с ними работать.
В начале кода я его объявляю:
Код AS1/AS2:

EVENTSDATA  = [[], []]; //массив данных шкалы событий

Далее в нужные моменты вызывается функция загрузки данных, и определяются его элементы, но трейс, который делается тут же, выдает undefined:
Код AS1/AS2:

function loadEventsData (year, n) {
        var myVarsEData:LoadVars = new LoadVars();
        myVarsEData.onData = function(src:String):Void {
                if (src != undefined) {
                EVENTSDATA[year][n] = src;
                trace(srс);
                trace('EVENTSDATA[' + year + '][' + n + ']= ' + EVENTSDATA[year][n]);
        };
        myVarsEData.load(EventsPath + 'text/' + year + '.' + n + '.txt');
};

Причем трейс src тут показывает, что текст нормально грузится.
Примеры с форума рассматривал и вроде бы делаю аналогично удачным решениям, но видимо, где-то ошибаюсь. Что я делаю не так?

iNils 29.07.2009 22:44

Вы объявили массив [0][0] и [0][1], не думаю, что у вас year равен 0, а n 0 или 1

mooncar 29.07.2009 22:53

Кажется понимаю.
А как быть, если диапазон year может лежать в пределах обычного современного летоисчисления (19... - 20...), а n - целочисленное, больше нуля, но не более 3?
Как бы вы посоветовали рабоать массивом?

iNils 29.07.2009 22:58

Делается так
Код AS1/AS2:

EVENTSDATA = [];
if (!EVENTSDATA[year]) {
        EVENTSDATA[year] = [];
}
EVENTSDATA[year][n] = src;


mooncar 29.07.2009 23:02

Спасибо, очень признателен!
Действительно, объявление массивов "налету" - это решение задачки. Все заработало.


Часовой пояс GMT +4, время: 21:52.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.