Sto tribolando come un assassino, su un fatto a cui no riesco a dare una spiegazione razionale, prima che raziocinante:
Ho scritto un semplice script di caricamento di un filmato esterno che si chiama down.swf collegato all'istanza di un clip:
onClipEvent (load) {
this.loadMovie("files_esterni/down.swf);
_root.stop();
}
onClipEvent (data) {
if (this.getBytesLoaded() == this.getBytesTotal()) {
_root.gotoAndPlay(3);
}
}
Al frame 3 faccio scomparire un livello con il preloader e avvio il movieclip caricato.
Ora viene il bello:
Se down.swf è prodotto con il flash2004, funziona tutto perfettamente , il preloader scompare e si attiva il movieclip.
Se down.swf è prodotto con Fireworks2004 o Swish2, incredibilmente il preloader rimane visibile (ovvero non funziona più lo script _root.gotoAndPlay(3). Signori questo è davvero paranormale![]()
Da prove e prove e prove fatte con debug alla mano ho potuto solo notare che il this.getBytesLoaded() ed anche il this.getBytesTotal()nel caso di file swf prodotto con il fireworks2004, rimane a NaN.
In questo caso (e questo è inspiegabile) anche se verifica la condizione (loaded=total) NON ESEGUE (MANCO A COLPI DI LEGNO) IL COMANDO _root.gotoAndPlay(3).
Ho provato a mettere un trace prima del salto condizionato e mi stampa il messaggio, quindi lo script li dentro ci passa. Ma poi non salta al frame successivo![]()
Se qualcuno ha un miracolo, un suggerimento, che magari fosse una stronz...a, mi fa un grosso favore.
ciauz.![]()