2009-10-09 4 views
0

Flash/Flex를 처음 사용합니다. fl.core.UIComponent를 확장하는 Flash에서 만든 구성 요소를 사용하고 싶습니다. Flex에서 어떻게 사용합니까? 난 그냥 swc로 내보내거나 UIMovieClip으로 변환 할 플래시 플렉스 3 키트를 사용해야합니까? 그건 맞지 않아.플렉스에서 UIComponent/Flash를 사용하는 방법

프로세스를 설명하는 몇 가지 간단한 단계를 부탁드립니다. 감사합니다. 사노란

답변

0

플렉스 앱에 .as 파일을 가져 오기 만하면됩니다. flex가 기본값 addChild 메서드보다 우선하여 mx.core.UIComponent 및 파생 클래스 만 수락하기 때문에 일반 addChild 대신 rawChildren.addChild을 사용하여 표시 목록에 추가하십시오.

업데이트 : 플렉스에서 FLA를 사용할 수 없으므로 구성 요소가 fl.core.UIComponent를 확장하는 AS 클래스가 아닌 경우 SWC로 내보내거나 해당 SWF를 런타임에 Flex 응용 프로그램에로드해야합니다 .

+0

이렇게하면 이러한 방식으로 Flash IDE를 사용하여 시각적 구성 요소를 제작할 수 없습니다. IE, 아니오 .fla 파일. – timoxley

+0

어쨌든 플렉스에서 플 라를 사용할 수 없습니까? – Amarghosh

+0

나는 OP가 코어 uicomponent를 확장하는 AS 클래스를 사용하는 것에 대해 묻고 있다고 생각했습니다. FLA가 포함되어 있으면 런타임에 SWC로 내보내거나 SWF를로드해야합니다. – Amarghosh

1

파일을 .swf로 게시하고 SWFLoader을 사용하여로드 할 수 있습니다. 경로는 실행/디버그 디렉토리와 관련이 있음을 기억하십시오.

swc 파일은 시각적 구성 요소가 아니라 일반적으로 라이브러리 파일입니다. 런타임 (swf)이 아닌 컴파일시 (swc) 라이브러리가 포함되기를 원하기 때문입니다.

 var loader = new SWFLoader(); 

     // set autoload to false just so we KNOW when it loads. Also prevents 
     // us from accidently loading it twice by calling load() later 
     loader.autoLoad = false; 
     loader.addEventListener(Event.INIT, function (nt:Event) { 
      // Remove event listener so can be garbage collected 
      event.currentTarget.removeEventListener(event.type, arguments.callee); 
      // note we can the loader, rather than 
      // loader.content 
      someIVisualElementContainer.addElement(loader); 

     }); 

     // relative to bin-debug or bin-release 
     loader.source = "movie.swf"; 

     loader.load(); 
+0

필자의 예제에서는 Flex3를 사용한다고해도 Flex4를 사용한다고 가정하고 addElement를 Flex3 MX 구성 요소의 addChild로 변경하면됩니다. – timoxley

+0

고맙습니다. 사노란. – Sanoran

관련 문제