Animation takes CPU time and sometimes it's useful to stop/play it. The problem is that MovieClip's in animation can be hardly nested.
Stop/start MovieClips recursively.
Here is the code that stops/plays all MovieClips in hierarchy:
public static function massStop(target:DisplayObjectContainer,
frame:Object = 1):void
{
if (target is MovieClip)
MovieClip(target).gotoAndStop(frame);
var n:int = target.numChildren;
for (var i:int = 0; i < n; i++)
{
var child:DisplayObjectContainer = target.getChildAt(i)
as DisplayObjectContainer;
if (child)
massStop(child, frame);
}
}
public static function massPlay(target:DisplayObjectContainer):void
{
if (target is MovieClip)
MovieClip(target).play();
var n:int = target.numChildren;
for (var i:int = 0; i < n; i++)
{
var child:DisplayObjectContainer = target.getChildAt(i)
as DisplayObjectContainer;
if (child)
massPlay(child);
}
}
+