Actionscript 3 在flash中同时停止同一电影剪辑的多个对象

Actionscript 3 在flash中同时停止同一电影剪辑的多个对象,actionscript-3,flash,animation,movieclip,Actionscript 3,Flash,Animation,Movieclip,在特定的时差之后,我一次又一次地生成同一电影片段的孩子。在任何情况下,我都要求舞台上的所有电影演员立即暂停,并在另一个间隔后再次播放。有没有关于我该怎么做的建议?我使用的是flash professional CS5.5和actionscript 3.0。每次生成新的子对象时,将其推送到阵列: var myArray:Array = new Array(); function makeChildren() { var newChild:MovieClip = new originalMC

在特定的时差之后,我一次又一次地生成同一电影片段的孩子。在任何情况下,我都要求舞台上的所有电影演员立即暂停,并在另一个间隔后再次播放。有没有关于我该怎么做的建议?我使用的是flash professional CS5.5和actionscript 3.0。

每次生成新的子对象时,将其推送到阵列:

var myArray:Array = new Array();
function makeChildren() {
    var newChild:MovieClip = new originalMC();
    myArray.push(newChild);
    addChild(newChild);
}
然后,您将可以访问所有生成的movieclips,以便按照自己的意愿进行处理。 当您需要暂停或播放所有循环时,只需为每个循环运行一个循环:

for each(var myVar in myArray) {
  myVar.pause(); // or myVar.play();
} 

听起来像是在找什么?

如果无法将所有对象保留在同一数组中,可以递归扫描显示列表并检查每个对象:

function lookRecursively( target : DisplayObjectContainer ) : void
{        
  for ( var i:int = 0, l:int = target.numChildren; i < l; i++ ) {
    var child:DisplayObject = target.getChildAt(i);
    if ( child is DisplayObjectContainer ) {
      if ( DisplayObjectContainer(child).numChildren > 0 ) {
        if ( child is SOME_OBJECT_CLASS_HERE ) {
          // do what you gotta do here...
        } else {
          lookRecursively( DisplayObjectContainer ( child ) );
        }
      }
    }
  }
}  
函数递归查找(目标:DisplayObjectContainer):void
{        
for(变量i:int=0,l:int=target.numChildren;i0){
if(这里的child是某个对象类){
//在这里做你该做的。。。
}否则{
递归地查找(DisplayObjectContainer(child));
}
}
}
}
}