0

我有 5 个名为 row1、row2、...、row5 的影片剪辑。在每一行里面是动画剪辑let1、let2、...、let15。我想将所有字母剪辑分配给二维数组。这是对较早问题Dynamically accessnested movie clips in flash actionscript 2的后续问题。

我正在尝试这个:

var letterClips:Array = [];

for(var i = 1; i <= 5; i++) {

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

}

}

4

1 回答 1

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;

任何一个都应该工作。

PS 另请注意,由于您的索引(i,j)从 1 开始,因此您的[0][j][i][0]插槽将在您完成所有迭代时未定义

于 2009-02-12T23:04:17.467 回答