如何在通过SWF加载程序加载到Flex的flash swf中调度事件

时间:2010-02-23 20:09:16

标签: flex flash event-handling

我有一个Flex应用程序,它通过SWF加载器加载Flash swf; Flash swf在AS3中。 flash swf有代码来调度发送文本事件

Flash代码:

  

var re:TextEvent = new TextEvent(TextEvent.TEXT_INPUT,true,true);


Flex代码:

<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
}

我没有看到从Flash调度任何TextEvents。在调试跟踪中看不到它们。但我可以捕获输入帧事件。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

只是创建事件不会发送它。你需要

dispatchEvent(re);

来自扩展EventDispatcher的东西