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);
}
// ..................................................