Nell'ultimo codice che ho postato che come ho scritto sopra è posizionato in 'intro.swf' c'è la chiamata alla funzione che si trova in 'index.swf'.come si richiama una funzione del parent dal child?
Ovviamente nella stessa funzione oltre a rimuovere il 'figlio', puoi caricare un altro 'figlio'.
Che la chiamata alla funzione sia attivata dal click su un pulsante o dal raggiungimento di un determinato fotogramma è irrilevante.
esempio: codice per index.swf
In intro.swf al fotogramma che vuoi inserisci:Codice PHP:var loaderHome:Loader;
var request:URLRequest = new URLRequest("intro.swf");
var loader:Loader = new Loader();
loader.load(request);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, introCaricata);
function introCaricata(evento:Event):void
{
addChild(loader);
}
function resettaIndex():void
{
removeChild(loader);
var request:URLRequest = new URLRequest("home.swf");
loaderHome = new Loader();
loaderHome.load(request);
loaderHome.contentLoaderInfo.addEventListener(Event.COMPLETE, homeCaricata);
}
function homeCaricata(evento:Event):void
{
addChild(loaderHome);
}
Nota un cosa: Quando pubblichi intro.swf e quest'ultimo raggiunge il fotogramma con il codice ti darà errore di accesso a proprietà e metodo = nullCodice PHP:stop();
var filmatoIndex:MovieClip = this.parent.parent as MovieClip
filmatoIndex.resettaIndex();
E' normale e logico perchè stai chiamando una funzione presente nel 'padre' e se lanciato da solo 'intro.swf' non sà nemmeno che esiste il 'padre'.
Tutto regolare e senza errori se invece lanci 'index.swf', la funzione chiamata da 'intro.swf' sarà eseguita correttamente e senza errori.
Comunque se tutto questo ti appare complicato e inutilmente macchinoso è perchè si cercano di implementare logiche di programmazione più conformi a AS2: codice sparso sulla timeline o annidato nelle timeline dei MovieClip.
Con AS3 è raramente necessario utilizzare questo sistema di programmazione e tutto o quasi tutto può essere facilmente gestito da un'unico fotogramma della timeline principale o meglio ancora, con l'utilizzo di classi.as esterne.
ciao

Rispondi quotando