Ух ты, AS2, давно этого не видел.
В AS2 клипы, созданные во время выполнения (с помощью кода), имеют положительные значения глубины, а клипы, созданные во время создания (с помощью преобразования в символ), имеют отрицательные значения глубины.
Самый простой способ циклического просмотра - использовать для ... в .
Вот пример того, что заключено в красивую многократно используемую функцию, которая также позволяет вам циклически перебирать все вложенные клипы внутри целевого клипа:
var clips:Array = getChildrenOf(this,true);
var numClips:Number = clips.length;
for(var i:Number = 0 ; i < numClips ; i++) trace("clip["+i+"]: " + clips[i]._name + " at depth " + clips[i].getDepth() + " in " + clips[i]._parent._name);
function getChildrenOf(target:MovieClip,recursive:Boolean):Array{
var result:Array = [];
for(var i in target){//loop through all properties
if(target[i] instanceof MovieClip) {//look for movieclips
result.push(target[i]);//found a clip add it to the result array
if(recursive) result = result.concat(getChildrenOf(target[i],true));//concatenate children of clips at this level,recurse
}
}
return result;
}
Второй параметр является необязательным, поэтому, если вы его опустите (например, getChildrenOf (this);), вы получите детей только на 1-м уровне глубины внутри целевого фрагмента ролика (например, это дети, но не «внуки») ) * +1010 *
НТН