2010-02-23 5 views
0

J'ai une application Flex qui charge un swf Flash via un chargeur SWF; le swf Flash est en AS3. le flash swf a le code pour dispatchEvent un événement TexteComment envoyer un événement dans un swf flash chargé dans Flex via le chargeur SWF

Flash Code:

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


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

Je ne vois pas de TextEvents être envoyés à partir de Flash. Ils ne sont pas visibles dans la trace de débogage. Cependant, je peux capturer les événements de frame.

Des idées?

+0

Qu'advient-il si vous ajoutez l'écouteur d'événement directement au SWFLoader au lieu de contenu? Notez également que vous n'ajoutez pas l'écouteur d'événement ENTER_FRAME au chargeur SWFLoader, ce qui ne signifie pas que les événements sont distribués/interceptés correctement à partir du MovieClip. – Karthik

Répondre

0

La création de l'événement ne l'envoie pas. Vous devez

dispatchEvent(re); 

de quelque chose qui s'étend EventDispatcher

+0

J'ai étendu la classe flash de MovieClip et utilisé dispatchEvent (re) pour déclencher l'événement; mais il semble que ce n'est pas l'envoi de l'événement. – Satish

Questions connexes