2009-02-12 29 views
0

我有5个动画片段叫做row1,row2,...,row5。每行内部都有影片剪辑let1,let2,...,let15。我想将所有的字母片段分配给2维数组。这是对较早问题Dynamically accessing nested movie clips in flash actionscript 2的跟进。将嵌套的动画片段分配给闪存中的多维数组as2

我正在尝试这个:

var letterClips:Array = [];

为(VAR I = 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(); 

方案二取代

letterClips[i] = new Array(16); 

:更换

letterClips[i].push(letter); 

letterClips[i][j] = letter; 

任何一个都应该工作。

P.S.还要注意,由于您的索引(I,J)在1开始时,你[0] [J][I] [0]插槽将是不确定由你经历所有迭代的时间。