Как передать данные через событие из swf1 в swf2, где прежний загружается позже - PullRequest
0 голосов
/ 30 ноября 2010

У меня есть swf (Swf1), который отправляет CustomEvent

Swf1: dispatchEvent (new CustomEvent ("eventName", obj)) // Пользовательское событие записывается в Swf1, что позволяет прикреплять данные при отправке. // сказать, есть ли другой способ сделать это, используя встроенные API AS3.

Теперь Swf2: (загружает Swf1) добавлен слушатель function onswf1loadComplete (e: Event) { _movie = MovieClip (e.target.content); _movie.addEventListener ("eventName", callrequiredFunction); // как получить объект здесь? }

(за исключением того, что мне нужно определить CustomEvent в Swf2)

1 Ответ

0 голосов
/ 30 ноября 2010

Вы можете перенести загрузку SWfs в другой класс, который будет обрабатывать связь между двумя swfs ...

 private var swf1:MovieClip; 
 private var swf2:MovieClip; 

 private function loadSWF(url:String):void
 {
     //loading swf code
 }

 private function init():void
 {
    loadSWF( swf2URL );
  }

 private function completeHandler (event:Event ):void
 {
     switch( event.currentTarget.name)
     {
         case 'swf1':
           swf1 = new Whatever();
           //swf1.addEventistener( CustomEvent.SWF1 , swfEventListener );
           swf1.addEventistener( Event.COMPLETE , completeEventListener );               
           swf1.init();
           break;

        case 'swf2':
           loadSWF( swf1URL );
           break;
     }           
 }

 private function completeEventListener( event: Event):void
 {
      //where result is a getter on the Whatever class
      var object:Object = swf1.result;
 }

 private function swfEventListener( event: CustomEvent):void
 {
      if( event.type == CustomEvent.SWF1 )
          var object:Object = event.object;
 }
...