Ciao
Anch'io non sono un programmatore esperto ma a mio parere l'alternativa più semplice e fattibile sul tuo progetto è quella di gestire il load e l'unload dal caricatore stesso.
Quando appare il filmato caricato, si potrebbe far apparire il pulsante "back" su un livello superiore a quello dove viene caricato il filmato e avresti lo stesso effetto di visualizzazione.
Quando fai il removeChild del "figlio.swf", rimuovi anche il pulsante precedentemente "attaccato" allo stage dalla libreria del .fla.
Ancora più semplice sarebbe posizionare il pulsante al di fuori dell'area occupata dall'.swf caricato, in modo di lasciare a Flash la gestione dei livelli in automatico.
Per la prima soluzione, più vicina alla tua idea iniziale, dovresti vedere come si gestiscono i livelli in dinamico con la proprietà numChildren e il metodo setChildIndex che permette appunto di settare un oggetto su uno specifico livello e quindi rimuoverlo con removeChild.
In questi giorni ho studiato su un codice che ti ho ipotizzato sopra per vedere appunto come creare la condizione if che valuta se esiste un filmato caricato e quindi lo rimuove riportando lo stage nelle condizioni originali.
Ho poi provato a vedere se riuscivo a rimuovere un qualsiasi oggetto posizionato sullo stage principale, partendo dal file esterno.
Sono riuscito a rimuovere qualsiasi oggetto dal file esterno compreso l'oggetto "chiamante stesso" (.swf esterno) ma in questo caso, quando ritorno sullo stage principale non funziona più nulla.![]()
Se invece rimuovo un pulsante o un'altro oggetto qualsiasi partendo dal filmato "chiamante" allo stage principale, funziona ma con il metodo che ho usato removeChildAt(numeroLivello) ovviamente il contenuto del livello cambia sempre ovvero: se ora rimuovo l'oggetto nel livello 2, la volta successiva sul livello 2 c'è quello che era sul 3 e di conseguenza a seconda delle volte che clicco sul pulsante per la rimozione del livello, cancello tutto quello che c'è sullo stage.
Insomma da quel che ho capito alla fine è che forse si può riuscire a cancellare un oggetto dal suo interno, ovviamente, agendo sul contenitore che lo contiene ma il tutto sarebbe una "macchinata" non facile da realizzare e ci sarebbe da chiedersi se ne vale davvero la pena.
Comunque se ti interessa quest'ultimo studio che ho fatto, specialmente la prima parte, fammelo sapere e posto il codice con le relative spiegazioni.
ciao![]()