将嵌套的动画片段分配给flash as2中的多维数组

时间:2009-02-12 22:21:27

标签: flash arrays dynamic actionscript-2 movieclip

我有5个名为row1,row2,...,row5的动画片段。每一行内都有movieclips let1,let2,...,let15。我想将所有字母剪辑分配到二维数组。这是对早期问题Dynamically accessing nested 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);

}

}

1 个答案:

答案 0 :(得分:2)

好吧,如果你使用

letterClips[i].push(letter);

这将在数组末尾添加'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] 在您完成所有迭代时,插槽将未定义