2011-11-03 2 views
0

이것은 처음으로 actionscript에서 재귀를 사용하므로 내가 고려하지 않은 것이 있다고 확신합니다. 내가하려는 것은 무대 아이들을 통해 반복하고 아이가 무엇인지 그리고 색인을 추적하는 것입니다. 여기에 몇 가지 코드가 있습니다.as3에서 무대의 모든 자식, 손자 등을 재귀 적으로 얻는 것

public function recurseStage(dOC:DisplayObjectContainer) 
    { 
     var numCh = dOC.numChildren; 
     for(var i = 0; i < numCh; i++) 
     { 
      var child = dOC.getChildAt(i); 
      trace("child: " + child + " at i: " + i); 

      if(child.numChildren > 0) 
      { 
       recurseStage(child); 
      } 
     } 
    } 

문제 영역은 실제 recurseStage() 호출 인 것처럼 보입니다. 그 전에 if 문뿐만 아니라. 모든 어린이가 .numChildren 속성을 가질지는 모르지만 대신 무엇을 사용해야하는지 잘 모르겠습니다. 이것은 쉬운 수정이어야하지만 내 두뇌는 지금 당장 나를 도와주지 않습니다. 또한 이보다 나은 방법이 있다면 알려 주시기 바랍니다. 미리 감사드립니다.

답변

2

사용
if (child is DisplayObjectContainer && child.numChildren > 0)

대신

if(child.numChildren > 0)

+0

감사합니다! 그랬어. 나는 그 자체로 각자를 시험해 보았습니다. 그러나 어떤 이유로 그것들을 시도하지 않았습니다. 다시 한 번 감사드립니다. – James

+0

@James, 도움이 되었다면 받아들이십시오. –

+3

죄송합니다. 수락하기 전에 몇 분 정도 기다려야했습니다. – James

관련 문제