2009-08-06 6 views

Antwort

11

Nicht sicher, ob für jedes funktioniert, aber das funktioniert.

for (var i:int = 0; i<myObj.numChildren; i++) 
{ 
    trace(myObj.getChildAt(i)); 
} 
2

so etwas vielleicht?

function getChildren(target:DisplayObjectContainer):Array { 
    var count:uint = target.numChildren; 
    var ret:Array = []; 
    for (var i:int = 0; i < count; i++) 
     ret.push(target.getChildAt(0)); 
    return ret; 
} 

und dann

for each (var child:Array in getChildren(displayObjectContainer)) { 
    //.... 
} 

greetz

back2dos

1

können Sie folgende rekursive Funktion verwenden, um durch alle Kinder jeden Display Klasse zu wiederholen.

Es werden alle untergeordneten Elemente in hierarchischer Weise genau wie DisplayList-Struktur angezeigt.

0

Meine zwei Cent.

public static function traceDisplayList(displayObject:DisplayObject, maxDepth:int = 100, skipClass:Class = null, levelSpace:String = " ", currentDepth:int = 0):void 
    { 
     if (skipClass != null) if (displayObject is skipClass) return; 
     trace(levelSpace + displayObject.name); // or any function that clean instance name 
     if (displayObject is DisplayObjectContainer && currentDepth < maxDepth) 
     {  
      for (var i:int = 0; i < DisplayObjectContainer(displayObject).numChildren; i++) 
      { 
       traceDisplayList(DisplayObjectContainer(displayObject).getChildAt(i), maxDepth, skipClass, levelSpace + " ", currentDepth + 1); 
      } 
     } 
    } 
+0

Es ist ein bisschen zu komplex in Bezug auf was das OP gefragt. – Florent