Назначение вложенных мувиклипов в многомерный массив во flash as2 - PullRequest
0 голосов
/ 13 февраля 2009

У меня есть 5 мувиклипов, которые называются row1, row2, ..., row5. Внутри каждого ряда находятся мувиклипы let1, let2, ..., let15. Я хочу назначить все буквенные клипы для двухмерного массива. Это продолжение предыдущего вопроса Динамический доступ к вложенным видеоклипам во флэш-сценарии 2 .

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

var letterClips: Array = [];

для (var i = 1; i <= 5; i ++) {</p>

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);

}

}

1 Ответ

2 голосов
/ 13 февраля 2009

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

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] и [i] [0] не определено к тому времени, как вы пройдете все итерации.

...