将舞台上的所有动画片段添加到数组中?

时间:2012-12-15 15:29:19

标签: arrays actionscript-3 flash movieclip

是否可以在舞台上(或在另一个动画片段中)使用动画片段填充数组?

E.g。如果'_level'是一个Movieclip,里面有更多的动画片段,我想做这样的事情:

var currentClip:MovieClip;
for (var i:int = 0; i < _level.numChildren; i++) {
    currentClip = _level[i];
    .....
}

1 个答案:

答案 0 :(得分:3)

你可以使用for循环遍历它们:

var array:Array=new Array();
for(var i:int=0; i < stage.numchildren ; i++) {
   array.push(stage.getChildAt(i));
}

你可以为此做一个递归函数来得到孩子的孩子等,如:

public var array:Array=new Array();
public function getChildren(do:DisplayObject){
  var arr:Array=new Array();
  for(var i:int=0; i < do.numchildren ; i++) {
       getChildren(getChildAt(i));
  }
  array.push(do);
}

并将其称为:

getChildren(stage);