Ciao
Una soluzione sarebbe quella di creare un filmato che fa da contenitore e che carica al suo interno intro e home.
Il pulsante di skipIntro dovrebbe essere posizionato nel filmato contenitore che assumerebbe le direttive dei filmati da visualizzare e di quelli da eliminare dalla scena principale.
Puoi comunque dal filmato "intro.swf" caricare "home.swf" ma il problema è che quest'ultimo verrebbe caricato sopra il filmato "intro.swf" che rimarrebbe in esecuzione, appesantendo inutilmente la memoria del FlashPlayer.
Il filmato "intro.swf" va quindi rimosso quando non serve più ma nel caso questo sia il "contenitore" di "home.swf" non può essere rimosso con il removeChild in quanto questo metodo può essere applicato solo a un elemento secondario della displayObjectContainer (Stage).
E' necessario quindi un altro filmato che faccia da contenitore dei 2 filmati da caricare ma non è necessario (anche se sarebbe più corretto) avere il pulsante di skipIntro sul filmato "caricato" in quanto potresti dal filmato "intro.swf" chiamare una funzione localizzata sul filmato "caricatore" che elimina il filmato "intro.swf" e lo sostituisce con "home.swf".
In pratica:
Nel filmato nel filmato contenitore carichi entrambi i filmati contemporaneamente ma aggiungi allo stage solo il filmato intro.swf con al suo interno il pulsante "skipIntro".
Codice da inserire nel filmato "contenitore":
Codice PHP:
var caricaIntro:Loader = new Loader;
caricaIntro.load(new URLRequest("intro.swf"));
var caricaHome:Loader = new Loader;
caricaHome.load(new URLRequest("Home.swf"));
addChild(caricaIntro);
function rimuoviIntro():void
{
removeChild(caricaIntro);
addChild(caricaHome);
}
Nota che non c'è nessuna chiamata alla funzione "rimuoviIntro" che invece viene effettuata dal filmato "intro.swf" al click sul pulsante "skipIntro".
Nel file "intro.swf" inserisci quindi il codice:
Codice PHP:
skipIntro.addEventListener(MouseEvent.CLICK, rimuoviContenuto);
function rimuoviContenuto(evento:MouseEvent):void
{
var contenitore:* = this.root.parent.parent;
contenitore.rimuoviIntro();
}
Al click sul pulsante "skipIntro" viene chiamata la funzione "rimuoviContenuto" che chiama la funzione "rimuoviIntro" che a sua volta rimuove l'oggetto caricato al suo interno ("intro.swf") e aggiunge allo stage il filmato "home.swf".
ciao