2009-02-12 3 views
0

У меня есть 5 мувиклипов, называемых row1, row2, ..., row5. Внутри каждой строки находятся мувиклипы let1, let2, ..., let15. Я хочу назначить все клипы письма двухмерному массиву. Это вопрос к более раннему вопросу Dynamically accessing nested movie clips in flash actionscript 2.Назначение вложенных мувиклипов в многомерный массив во флэш-памяти as2

Я пытаюсь это:

Var letterClips: Array = [];

для (вар я = 1; я < = 5; я ++) {

letterClips[i] = new Array(16); 

//var row:MovieClip = _root["row" + i]; 
//rowClips.push(row); 

for (var j = 1; j <= 15; j++) { 

    var letter:MovieClip = _root["row" + i]["let" + j]; 

    letterClips[i].push(letter); 

} 

}

ответ

2

Ну, если вы используете

letterClips[i].push(letter); 

Это собирается добавить 'письмо' до конца массива и увеличить его размер (на 1). Так он начнет добавлять фильмов 'письмо' в положении 16, и по-прежнему с 17, 18, ...

Решение 1: заменить

letterClips[i] = new Array(16); 

с

letterClips[i] = new Array(); 

Решение 2: заменить

letterClips[i].push(letter); 

с

letterClips[i][j] = letter; 

Любой должен работать.

P.S. Отметим также, что ваши индексы (I, J) старт на 1, ваш [0] [J] и [я] [0] слотов будет неопределенными к тому времени вы пройти все итерации ,