2009-03-21 3 views
0

특정 소스에서 XML 파일을 읽는 플래시 앱을 만들고 있습니다. XML 파일에는 이름, 설명 및 이미지 URL이 각각 포함 된 최대 5 개의 노드가 있습니다.for 루프에서 생성 된 동적 클립 내에서 텍스트 필드/무비 클립에 액세스하는 방법은 무엇입니까?

각 노드의 데이터를 나타 내기 위해 다른 무비 클립 (URL에서 이미지로드), 짧은 동적 텍스트 상자 (이름) 및 긴 동적 텍스트 상자 (설명 용)가 포함 된 무비 클립을 만들었습니다.

코드에서

난 그냥으로 액세스 할 수 있습니다 - = "텍스트"

new_mc.myname.text; new_mc.image_mc.loadMovie ("path_to_image");

이것은 오래 전 duplicateMovie를 (사용으로 괜찮습니다) 그리고 난 루프에서 XML 노드를 읽을 수 있기 때문에 인스턴스 이름 "인 new_mc"

내 문제는 루프로 시작

...

를 사용 나는 동적 인 무비 클립을 만들고 그 안에있는 모든 객체에 액세스 할 것이라고 생각했습니다.

그래서,에 대한 루프에서 내가 좋아하는 인스턴스를 생성 -

myform.duplicateMovie("new_mc"+i,i) 

하지만 난 = "인 new_mc"+ 내가

어떻게 내가 새로 액세스 할 수있는 인스턴스 이름으로 만든 영화에 액세스 할 수 없습니다 new_mc0, new_mc1, new_mc3, ...

과 같은 무비 클립 인스턴스를 만들면 그 안에있는 객체에 액세스 할 수 있습니까?

은 충분히 experiance에이 있기 때문에이 솔루션은 당신을 위해 간단하다 할 수 있습니다,하지만 난 여기에 초보자 요청하는 도움 :) 모든

좋은 하루입니다!

답변

0

내가 AS2에서 duplicateMovie() 메소드를 사용하여 거의 절대 않았다하지만 그건 당신의 선택 인 경우에이처럼 액세스 할 수 있습니다

this["new_mc"+i]; 

그렇지 않으면 좋은 연습은 항상 더 나은 제어권을 가지고 인스턴스를 참조하는 것입니다 그것은 : 나는 AS3를 사용하면 조언을 것입니다,하지만 당신은 여전히 ​​AS2 사용할 이유가있을 수 있습니다

var forms:Array = new Array(); 

for(...) 
    forms[i] = myform.duplicateMovie("new_mc"+i,i); 

... 

forms[2].myname.text = "hello"; 
  • 우선 ...
  • SECON AS2에서 인스턴스를 만들면 라이브러리에서 MovieClips를 정의하는 것이 더 부드럽게 처리되고 attachMovie(); 메서드를 사용하여 인스턴스를 만듭니다.
관련 문제