Buongiorno a tutti,
ho un problema con uno script di preloading che non riesco proprio a risolvere![]()
![]()
In sostanza:
ho un swf A che attraverso uno script (sotto) precarica un altro swf B.
Avviene attraverso la creazione di un clip vuoto ove viene inserito l'swf B.
Specifico che gli swf B che vengono caricati sono piuttosto pesanti, sono delle photogallery di immagini.
Barra di avanzamento, kilobytes caricati su kilobytes totali, tutto il cucuzzaro.
Il problema:
l'swf B viene fatto partire PRIMA che il precaricamento sia completo!!!![]()
E non solo! Nonostante il precaricamento sembri sospeso o ultimato, in realtà prosegue in background e una volta che si conclude, l'swf B ricomincia dal primo frame.
Osservandolo sembra che il salto anticipato arrivi raggiunto un dato numero di kilobytes (tipo attorno ai 1.600.000). Perchè non saddacapire!![]()
Lo script è il seguente, inserito sul frame 1 della timeline. Dopo non c'è nulla.
Dove sbaglio? Come posso ovviare a questo problema?_root.createEmptyMovieClip("placeholder",5);
var mioElenco:Array = new Array("photogallery.swf");
_root.i = 0;
function preloadMovie() {
car = placeholder.getBytesLoaded();
tot = placeholder.getBytesTotal();
per = int(car*100/tot);
caricamento = car+"Kb di "+tot+"Kb";
_root.barretta._width = (per*2.15);
if (per == 100 && tot>0) {
clearInterval(preloadInterval);
_root.i++;
if (i<mioElenco.length) {
startDownload();
} else {
unloadMovie("placeholder");
loadMovieNum("photogallery.swf", 5);
}
}
}
function startDownload() {
placeholder.loadMovie(mioElenco[_root.i]);
preloadInterval = setInterval(preloadMovie, 1);
}
startDownload();
Non vorrei cambiare script perchè è esattamente quel che mi serve, vorrei solo correggerlo.
Grazie a tutti in anticipo per l'aiuto e per l'attenzione.
Buona giornata!
PS: allego anche il .fla qualora servisse Scaricare qui