2010-02-23 6 views
0

SWF 로더를 통해 Flash SWF를로드하는 Flex 애플리케이션이 있습니다. 플래시 SWF는 AS3에 있습니다. 플래시 SWF는 텍스트 이벤트를SWF 로더를 통해 Flex에로드 된 플래시 SWF에서 이벤트를 전달하는 방법

플래시 코드는, dispatchEvent하는 코드를 가지고 :

VAR 재 : TextEvent의 = 새로운 TextEvent의 (TextEvent.TEXT_INPUT 사실, TRUE);


플렉스 코드 :

<mx:SWFLoader source="menu.swf" id="mnu" complete="menuLoaded(event)" /> 
private var mySwfMve:MovieClip; 
function menuLoaded(event:Event): void { 
    mySwfMve = mnu.content as MovieClip; 
    addEventListener(Event.ENTER_FRAME,enterFrameHandler); 
    mySwfMve.addEventListener(TextEvent.TEXT_INPUT,textInputEventHandler); 
} 

private function enterFrameHandler(eft:Event):void { 
trace(eft.toString()); /* This works fine , I can see enter frame events in Flex builder debug trace */ 
} 

private function textInputEventHandler(tme:TextEvent):void { 
    trace(tme.toString());/* NOT WORKING, I've a dispatchEvent in Flash Swf 
} 

나는 어떤 TextEvents가 플래시에서 파견되는 표시되지 않습니다. 그들은 디버그 추적에서 볼 수 없습니다 .. 그러나 프레임을 입력 이벤트를 캡처 할 수 있습니다.

아이디어가 있으십니까?

+0

를 확장 뭔가에서

dispatchEvent(re); 

필요하십니까? 또한 ENTER_FRAME 이벤트 리스너를 SWFLoader에 추가하지 않으므로 이벤트가 MovieClip에서 올바르게 전달/캐치되고 있음을 나타내는 표시기가 아닙니다. – Karthik

답변

0

이벤트를 생성해도 이벤트가 전달되지 않습니다. 당신은 당신이 SWFLoader의 대신의 내용에 직접 이벤트 리스너를 추가하면 어떻게됩니까하는 EventDispatcher

+0

MovieClip에서 flash 클래스를 확장하고 dispatchEvent (re)를 사용하여 이벤트를 트리거했습니다. 하지만 이벤트를 파견하지 않는 것 같습니다. – Satish

관련 문제