Thread: [Actionscript 3] swf esterni con enter_frame
View Single Post

  #6 (permalink)  
Old 07-09-08, 11:24
Silver55's Avatar
Silver55 Silver55 is offline
Junior Member
 
Join Date: Sep 2008
Posts: 17
Rep Power: 0
Silver55 is on a distinguished road
Re: swf esterni con enter_frame

Ciao,
...nel caso tu conosca il nome dell'ascoltatore associato all'evento ENTER_FRAME di un SWF caricato ( o qualsiasi altro metodo ) , per richiamarlo fai riferimento al contenuto del Loader ed al metodo interessato.

Code:
// ..........................................................
//  NAME : Test_01.fla  
//         Caricamento di un SWF e "remove" di un Listener 
//         associato
// ..........................................................
 
import flash.net.URLRequest;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.display.MovieClip;
// ..........................................................
 
// ..........................................................
var urlFile        :String;
var urlRichiesta   :URLRequest;
var caricatoreSWF  :Loader;
var caricatoreInfo :LoaderInfo; 
var swf            :MovieClip
// ..........................................................
 
// ..........................................................
urlFile        = "swf_01.swf";
urlRichiesta   = new URLRequest(urlFile);
caricatoreSWF  = new Loader();
caricatoreInfo = LoaderInfo(caricatoreSWF.contentLoaderInfo); 
caricatoreInfo.addEventListener(Event.COMPLETE, completatoCaricamentoSWF); 
// ..........................................................
 
// ...sullo stage e' presente un Button per fermare 
//    l'evento ENTER_FRAME dell'SWF caricato
b_stopListener.addEventListener(MouseEvent.CLICK, fermaAscoltatoreSWF);
 
// ...carica l'swf 
caricatoreSWF.load(urlRichiesta);
 
// ..........................................................
//  FUNCTION : completatoCaricamentoSWF()  
//             Il File SWF e' stato caricato  
// ..........................................................
function completatoCaricamentoSWF(evento:Event):void  
{ 
 // ...il File SWF e' stato caricato !
 
 // ...crea un loader temporaneo (non necessario)
 var caricatoreTemp:Loader = Loader(evento.target.loader);
 
 // ...estrai l'SWF (reference) 
 swf = MovieClip(caricatoreTemp.content);
 
 // ...potevo riferirmi direttamente 
 // var mc:MovieClip = MovieClip(evento.target.loader.content);
 
 // ...aggiungi allo Stage
 addChild(swf);
 
 // ...etc....
} 
// ..........................................................
 
// ..........................................................
//  FUNCTION : fermaAscoltatoreSWF()  
//             stop dell'ascoltatore ENTER_FRAME 
// ..........................................................
function fermaAscoltatoreSWF(evento:Event):void  
{
 // ...rimuovi l'ascoltatore ENTER_FRAME presente nell'SWF 
 swf.removeEventListener(Event.ENTER_FRAME, swf.entrataNelFrame);
 
 // ...valore presente nel text field dell'SWF 
 // trace(swf.ctr.text);
 
}
// ..........................................................

...e qui SWF che prevede l'ascoltatore relativo all'evento ENTER_FRAME, da fermare dopo il suo caricamento

Code:
// ..................................................
//  NAME : swf_01.fla 
// ..................................................
import flash.events.Event;
// .....
var i:uint;
addEventListener(Event.ENTER_FRAME, entrataNelFrame);
 
function entrataNelFrame(evento:Event):void
{
 // ...incrementa una var. 
 // ...giusto per il test, per vedere quando si fermera'
 i++;
 
 // ...visualizza il numero di volte ( in un textfield )
 ctr.text = String(i);
}
// ..................................................
Reply With Quote