Recursion for Flash
This morning in the train I worked on a little script for recursion. I need this to update a timeline animation on the fly.
With this script you get an Array with every DisplayObject on the currentframe in a DisplayObjectContainer (MovieClip, Sprite etc).
package test { import flash.display.DisplayObject; import flash.display.DisplayObjectContainer; /** * @author Jankees.van.Woezik */ public class Recursion { private var childs : Array; public function getAllChilds(inMC : DisplayObjectContainer) : Array { childs = new Array(); findChilds(inMC); return childs; } private function findChilds(inDisplayObjectContainer : DisplayObjectContainer,inCurrentDepth : uint = 0) : void { var i : uint = inDisplayObjectContainer.numChildren; var child : DisplayObject; while( i -- ) { child = inDisplayObjectContainer.getChildAt(i); if(child is DisplayObjectContainer) { childs.push(child); findChilds(DisplayObjectContainer(inDisplayObjectContainer.getChildAt(i)), inCurrentDepth + 1); }else if(child is DisplayObject) { childs.push(child); } } } } }
THE COMMENTS:
What Thijs said 3 hours later:
What is the use of 'numFrames'? And why are you checking on Sprite in stead of DisplayObjectContainer?
Funny to see you are still using the 'Lost Boys' coding standard ;)