Flash: preload di file multipli

Di: Night | 26/09/2020 18:50:18
Io ho un swf di un filmato di 3/4 minuti, che tempo fa divisi per rendere piu facile la lavorazione (avevo un pc lento) però adesso ho il problema che avendolo messo su internet (http://www.flashsite.altervista.org/Impero/impero.htm ) quando arriva a caricare i vari swf necessitano di un preload, coem faccio a fargli caricare tutti e 10 gli swf in un unico preload prima che inizi il "filmato"?
Grazie in anticipo dell'aiuto!

Risposte



_root.createEmptyMovieClip("placeholder", 1);
var mioElenco:Array = new Array("scena1.swf", "scena2.swf", "scena3.swf");
_root.i = 0;
function preloadMovie() {
car = placeholder.getBytesLoaded();
tot = placeholder.getBytesTotal();
per = int(car*100/tot);
msg = "sto caricando "+mioElenco[_root.i]+", avanzamento: "+per+"%.";
if (per == 100 && tot>0) {
clearInterval(preloadInterval);
_root.i++;
if (i<mioElenco.length) {
startDownload();
} else {
//unloadMovie("placeholder");
msg = "tutti i filmati sono stati caricati.";
}
}
}
function startDownload() {
placeholder.loadMovie(mioElenco[_root.i]);
preloadInterval = setInterval(preloadMovie, 10);
}
startDownload();
////--------------------------------------------------
Questo script qui sopra fa esattamente quello che ti serve.
L'Array mioElenco deve contenere i nomi dei file da caricare, ed è l'unica cosa che devi personalizzare.
In pratica carica i filmati nell'ordine in cui li hai scritti nell'Array, appena un filmato è stato completamente caricato viene subito cancellato e parte il download successivo.
Alla fine non avrai nessuno dei tuoi filmati sulla scena ma essendo già stati scaricati tutti si troveranno nella cache del computer in uso, quando ti serviranno potrai richiamarli con un semplice loadMovie ma invece che essere caricati dal server, saranno caricati dalla cache istantaneamente.
Inoltre c'è un'utilissima variabile msg che contiene un messaggio che puoi visualizzare durante il download, il messaggio è del tipo:
sto caricando scena1.swf, avanzamento: 34%.
Se posizioni sulla scena una casella di testo dinamico e gli associ questa variabile i tuoi visitatori sapranno cosa sta succedendo invece di aspettare davanti a una schermata ferma.

Di: Professore | 26/09/2020 18:50:18