Originariamente inviato da pasavign
Ho scaricato i tuoi files ed ho notato che il problema è esattamente quello che avevo indicato nel mio primo post.
Devi capire che i "riferimenti" o "percorsi" o "path" o come altro li vuoi chiamare
cambiano a seconda che un filmato venga eseguito come "principale" o come "secondario".
Nel tuo caso hai due filmati:
1) principale.swf
2) clip.swf
Il codice del preload di quest'ultimo è dentro il filmato stesso.
Quando clip.swf viene eseguito da solo, cioè come filmato principale, i riferimenti a
_root puntano alla _root di clip.swf
Quando, invece, clip.swf viene caricato dentro il movieclip "contenitore" del filmato "principale.swf", i riferimenti alla _root fatti nel codice del preload di clip.swf puntano ora alla _root di "principale.swf", perché "clip.swf" non è più visto come tale ma come "contenitore", chiaro?
COsì come hai scritto il codice, il preload NON funzionerà mai se "clip.swf" viene caricato "dentro" un altro movieclip.
Per risolvere il problema hai tre possibilità:
1) nel codice del preload (di clip.swf) sostituisci _root con _root.contenitore.
Questa è la soluzione + veloce ma non è molto bella perché poi il filmato, da solo, non funzionerà più. Funzionerà solo se caricato dentro il movieclip "contenitore".
2) sposti il codice del preload di "clip.swf" nel filmato principale.
Ovviamente anche qui dovrai sostituire _root con _root.contenitore.
3) Non cambi nulla nel codice del preload ma, per caricare clip.swf, nel filmato principale, al posto di:
contenitore.loadMovie("clip.swf");
metti:
loadMovieNum("clip.swf", 11);
Con quest'ultimo metodo, il filmato Flash viene caricato in un livello
sopra al chiamante, quindi i riferimenti a _root non vengono alterati.
Chiaro?
Ah, dimenticavo, con l'ultimo metodo hai però il problema del corretto posizionamento del filmato secondario. Il mio consiglio in questo caso è di fare gli stage perfettamente uguali (come dimensioni) e posizionare gli oggetti di conseguenza.