2011-10-18 2 views
0

동일한 SWF에서 동일한 사용자 지정 구성 요소의 여러 인스턴스를 사용하고 있습니다. 이 구성 요소는 본질적으로 특수한 크기 조정 요구 사항이있는 텍스트 필드입니다. 또한 필자는 텍스트 필드 구성 요소의 정보를 처리하는 또 다른 "래퍼"구성 요소를 가지고 있습니다. 처음에는 무대 색인을 사용하여 데이터를 텍스트 필드 구성 요소와 연관 시켰습니다. 이것은 내가 예상했던 것보다 더 복잡해졌습니다. 래퍼에서 추적 할 때 텍스트 필드 구성 요소의 인덱스를 가져올 수 없습니다. 그래서 컴포넌트 코드에서 가져 와서 커스텀 이벤트를 통해 래퍼에 정보를 보냈습니다. 문제는 거기에 어떤 구성 요소인지 식별 ​​할 수 없다는 것입니다. 나는 또한 구성 요소 shim과 textfield를 볼 수 있습니다. 나는 프로그래밍 된 구성 요소가 표시 목록에서 어떻게 작동하는지 혼동합니다.여러 사용자 지정 구성 요소 및 표시 목록

내 주요 질문. 적절한 구성 요소와 정보를 연결하는 더 좋은 방법이 있습니까? 내 유일한 질문 인 것 같습니다. 저를 올바른 방향으로 가르쳐주십시오.

편집 : 무대에 드래그해야하는 구성 요소를 추가하는 것을 잊어 버렸습니다. 답변을 주셔서 감사합니다. 그러나 프로그래밍 방식으로 구성 요소를 추가하는 경우에만 작동합니다. 어떤 도움이라도 대단히 감사하겠습니다. 그것이 가능한 해결책이나 정보에 대한 링크 일지라도 그것을 정리하는 데 도움이 될 것입니다. 다시 한번 감사드립니다.

EDIT2 : 런타임에 사각형을 그려 프로그래밍 방식으로 생성 된 텍스트 필드 구성 요소로 대체하는 더미 자리 표시 자 구성 요소를 만들었습니다. 그래서이 솔루션에가는 도중에 많은 도움을 주신 모든 분들께 감사드립니다. 내가 더 좋은 것을 생각해 내면 나는 이것을 새롭게 할 것이다.

당신은 각 텍스트 필드에 고유 한 이름을 부여과 같이 할 수

답변

1

:

for(var i:int = 0; i < n; i++) 
{ 
    var txt:TextField = new MyCustomTextField(); 
    txt.name = "txt_" + i.toString(); 
    stage.addChild(txt); 
} 

경우 예를 txt[99] = stage.getChildByName("txt_" + 99)에 대한;

... 또는 배열 또는 벡터를 사용하여 각 TextField에 대한 참조를 보유 할 수 있습니다.

+0

텍스트 필드는 실제로 구성 요소입니다. 그래서 당신의 접근 방식은 효과가 없을 것입니다. – James

+0

@James이 접근법은 구성 요소에 대해서도 마찬가지로 작동합니다. 구성 요소별로 'fl.controls' 패키지에서 컨트롤을 참조한다고 가정합니다. – Taurayi

+0

@james 원하는대로 작동하지 않는다고 가정하십시오. –

관련 문제