Flash 8: filmati che non partono

:-? :-?
ciao
chi mi può aiutare?
non ho mai usato un forum quindi vi chiedo scusa se non so spiegarmi bene

dunque il problema è questo:
ho costruito il menu richiamando le pagine con la action

on(release){
_root.place_mc2.loadMovie("pincopallino.swf");
}

e funziona tutto bene,

ci sono tre pagine poi che a loro volta richiamano dei video sempre swf
e queste sono

aladino giovanna e avvento
ora
se guardo singolarmente
gli swf di queste tre pagine funzionano bene, richiamano tutti i video, mentre poi quando guardo tutto il sito
riesco a vedere solo i video nella pagina di aladino, ma non giovanna e avvento.
specifico: le pagine giovanna e avvento, si aprono con tutti i loro bei pulsanti, che però non funzionano, non richiamano i video, mentre per aladino funziona tutto.
ho provato a richiamare un filmato di giovanna nella pagina di aladino ed è uguale non mi fa vedere il video e allo stesso modo giovanna non apre i video di aladino, quando vedo il sito pubblicato. come pagine singole swf funziona invece sempre tutto.

spero che la mia domanda sia chiara

grazie
ciao
:-)

p.s. tutti i file sono sulla root

 manublu, N.D.

Ciao manublu,

Sono quasi certo che si tratti di un problema di percorsi...

La parola magica "_root" punta alla radice del filmato, sempre.

Se crei un filmato e usi nello script un riferimento a "_root" avrai la certezza di puntare alla linea principale del tuo filmato.

Se carichi un filmato dentro a un altro la faccenda si complica, la _root non √® pi√Ļ quella del filmato a cui stavi lavorando, ma √® la _root del filmato dentro al quale lo hai caricato. Per spiegarlo meglio faccio un esempio:

Ho un filmato che si chiama "principale.swf", sulla root posiziono un movieclip che mi servirà per caricare un filmato esterno, quindi gli assegno come nome istanza "segnapostopersezione".

Ho un secondo filmato che si chiama "sezione1.swf", lo voglio caricare dentro al primo, quindi uso nel filmato principale:

_root.segnapostopersezione.loadMovie("sezione1.swf");

Il filmato "sezione1.swf" deve caricare a sua volta un filmato che si chiama "dettaglio1.swf", quindi dentro il filmato "sezione1.swf" posiziono un movieclip vuoto e lo chiamo "segnapostoperdettaglio".

Come ho fatto precedentemente scrivo dentro "sezione1.swf" il comando:

_root.segnapostoperdettaglio.loadMovie("dettaglio1.swf");

Prova numero 1 - dettaglio1.swf: controllo che tutte le cosine siano a posto. OK.
Prova numero 2 - sezione1.swf: controllo anche qui che vada tutto bene e mi compiaccio del fatto che il filmato "dettaglio1.swf" viene caricato correttamente. OK.
Prova numero 3 - principale.swf: sono contento che si carichi anche sezione1.swf, ma... non carica dettaglio1.swf!!!

Che cosa è successo nella terza prova?

Il riferimento a _root fa in modo che il "target" venga cercato a partire dalla radice del filmato, quindi _root.segnapostopersezione cerca un'istanza di nome "segnapostopersezione" all'interno della linea principale di "principale.swf", e allo stesso modo _root.segnapostoperdettaglio cerca un'istanza di nome "segnapostoperdettaglio" all'interno della linea principale di "principale.swf", non la trova e non carica niente.

Posso risolvere questo problema in due modi:

Primo sistema:
Dentro al filmato sezione1.swf vado a sostituire il comando precedente con questo:

_root.segnapostopersezione.segnapostoperdettaglio.loadMovie("dettaglio1.swf");

In questo modo la terza prova riuscirà e io avrò caricato il filmato come volevo, tuttavia la prova numero due è destinata a fallire, perché non esiste nessuna istanza chiamata "segnapostopersezione" dentro il filmato sezione1.swf.

Secondo sistema:
Utilizzo la proprietà _lockroot.

La proprietà _lockroot fa quello che il suo nome suggerisce: blocca la radice di un filmato quando il suo valore è impostato a true.

Apro i miei tre filmati e inserisco sul primo fotogramma di ognuno:

this._lockroot = true;

In questo modo non ho bisogno di fare altre modifiche, tutte e tre le prove di sopra dovranno avere esito positivo perché da ora in poi la parola _root farà riferimento non alla linea principale del filmato principale, ma alla linea principale di ogni filmato separatamente.


Spero di esserti stato utile, se il problema fosse di natura diversa fammelo sapere.

 Professore, N.D.
001design.it ® è un marchio registrato.
© 2004-2017 Molfese Paolo - P.Iva: 03430820617 - All rights reserved | Tutti i diritti sono riservati.