carico un swf esterno chiamato home.swf con il metodo addchild()
Non è esatto: Con il metodo addChild(nomeOggetto) aggiungi allo stage il filmato caricato precedentemente con il metodo .load della classe Loader.
Codice PHP:
pulsante.addEventListener(MouseEvent.CLICK, carica);
function carica(evento:MouseEvent):void
{
var loader:Loader = new Loader ;
loader.load(new URLRequest ("prova.swf"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, avvia)
addChild(loader);
}
function avvia(evento:Event):void
{
//var mioClip:MovieClip = evento.target.content as MovieClip
evento.target.content.gotoAndPlay(2);
}
Nota che in questo esempio ho commentato la definizione di una variabile di tipo MovieClip a cui ho assegnato il valore del contenuto del loader perchè in questo caso è sufficente fare riferimento a ciò che ha provocato l'evento (il caricamento completo del file).
Se ti serve utilizzare l'.swf caricato in altre funzioni, devi istanziare una variabile di tipo MovieClip a livello globale, cioè visibile in tutto il codice e nella funzione di caricamento completato gli assegni il valore del contenuto del Loader in questo modo:
Codice PHP:
var mioClip:MovieClip;
pulsante.addEventListener(MouseEvent.CLICK, carica);
function carica(evento:MouseEvent):void
{
var loader:Loader = new Loader ;
loader.load(new URLRequest ("prova.swf"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, avvia)
addChild(loader);
}
function avvia(evento:Event):void
{
mioClip = evento.target.content as MovieClip
mioClip.gotoAndPlay(2);
}
Con questo secondo esempio, dalla funzione "avvia" in poi puoi utilizzare la variabile "mioClip" come se fosse un MovieClip e di conseguenza assegnargli metodi e proprietà riservate a questa classe.
ciao