Non ti arrabbiare. Eccolo:
Codice HTML:
// inizializziamo alcune variabili
var caricati:Number;
var totali:Number
var percentuale:Number;
var perc_txt:TextField;
var bytestotal_txt:TextField;
var bytesloaded_txt:TextField;
var kbcaricati:Number;
var kbtotali:Number
var bar:MovieClip;
// setto le variabili
// caricati è uguale ai bytes caricati in quel momento
caricati= _level0.getBytesLoaded();
// totali è uguale ai bytes totale del filmato
totali= _level0.getBytesTotal();
// calcoliamo la percentuale che è data
// caricati x 100 tutto diviso il totale
// con int prendo solo l'intero
percentuale= int((caricati*100)/totali)
// faccio vedere all'utente la percentuale
perc_txt.text=percentuale+" %";
// oltre alla percentuale adesso possiamo recuperare i kb totali del filmato e i kb che ci restano da caricare
// con il metodo getBytesLoaded recuperiamo i bytes e 1024 bytes non solo altro che 1 kb quindi
// dividiamo tuto per 1024
kbcaricati= int(caricati/1024)
// la stessa cosa per i totali
kbtotali= int(totali/1004)
// visualizziamo adesso le informazioni
bytesloaded_txt.text=kbcaricati+" kb";
bytestotal_txt.text=kbtotali+" kb";
// ora oltre alle info testuali possiamo mostrare una barretta colorata che ci
// indica lo stato di caricamento del nostro filmato
// questa barretta è un MovieClip con all'interno un rettangolo
// non dimentichiamoci a dare 0 come coordinata x al nostro rettangolo
bar._xscale= percentuale;
// il nostro MovieClip con nome istanza bar possiede tutte le proprietà
// dei movieclip cioè x,y,width, _height; per il nostro preload abbiamo bisonfo
// di settare la percuale x di "scala" o ingradimento dove 100 è quello attuale
// quindi se settiamo la xscale uguale alla percentuale vedremo che la barrett
// aumenterà verso destra la propria grandezza , infatti al percentuale non è fissa ma
// varia in base allo stato di caricamento del filmato.
// adesso è arrivato il momento di stabilire la condizione
// se i i bytes caricati sono uguali ai bytes totale il filmato è tutto caricato
if(caricati > 0 && caricati >= totali)
{
gotoAndPlay(5);
}
// oltre alla condizione se caricati è uguale a totali ne ho inserita
// un' altra perchè quando flash esegue per la prima volta la condizione
// può succedere che i primi millesecondi flash non riesce a calcolare
// i bytes totali e caricati quindi spesso la condizione è subito soddisfatta
// invece se controllo che i bytes caricati sono maggiore di 0 evito questo "bug"