I have a movieclip which is a character in a game. Inside this movieclips there are several movieclips containing limbs that has an animation. So do anyone have a suggestion
Easiest way I think :
// MovieClip propotype function that stop all running clips (current and inside clips)
MovieClip.prototype.stopAllClips = function():void {
var mc:MovieClip = this;
var n:int = mc.numChildren;
mc.gotoAndStop(1);
for (var i:int=0; i<n; i++) {
var clip:MovieClip = mc.getChildAt(i) as MovieClip;
if (clip) {
clip.gotoAndStop(1);
clip.stopAllClips();
}
}
}
So it's recursive, and can be called from a MovieClip it-self:
myMovieClip.stopAllClips(); // Stop the clip and inner clips
As of Flash Player 11.8 / AIR 3.8, there is a built in method for all DisplayObjectContainers called stopAllMovieClips.
commonParent.stopAllMovieClips();
If i understand you correctly (ie: stop all movieclips within another movieclip), this should work:
function stopAllClips(mc:MovieClip):void
{
var n:int = mc.numChildren;
for (var i:int=0;i<n;i++)
{
var clip:MoviceClip = mc.getChildAt(i) as MovieClip;
if (clip)
clip.gotoAndStop(1);
}
}
Just call it like so:
stopAllClips(yourMovieClip);
Where yourMovieClip is the character.
As of Flash Player 11.8 / AIR 3.8, there is a built in method for all DisplayObjectContainers called stopAllMovieClips.
commonParent.stopAllMovieClips();
Keep in mind, this will recursively stop all children and grandchildren, unlike the the original answer which only stops the immediate children.