Matteo Pignatelli
a- a+

Preload per files esterni

Con questo tutorial potremo creare un unico preload che possa essere utilizzato per caricare tutti gli swf esterni voluti, a prescindere dalla destinazione degli stessi, e quindi dei loro percorsi all'interno del filmato principale.
Per ottenere questo, costruiremo un preload a se stante e caricandolo sul primo fotogramma del filmato richiamato dal sito.

Tutti i filmati di cui abbiamo bisogno avranno sul primo frame uno stop, un movie vuoto per il caricamento del preload e caso mai la grafica di base. Dal secondo fotogramma siete liberi di metterci quello che volete.

Quindi, nel primo fotogramma di ogni filmato un movieclip di nome istanza "vuoto" posizionato come credete e nelle azioni del fotogramma il seguente codice

vuoto.loadMovie("preload.swf")
stop();

il preload caricato controllerà quando quel filmato è del tutto caricato e quindi lo farà partire mandando la testina al secondo frame.

il preload lo strutturiamo su due fotogrammi, sul primo c'è il controllo dei kb, il secondo rimanda al primo fotogramma per aggiornare i valori sul primo fotogramma:

 

/*
Definisco le variabili "bytes caricati" e "bytes totali" della movie che ospita il preload
*/
var caricando = _parent.getBytesLoaded()
var totali = _parent.getBytesTotal()

/*
Quando questi due valori sono uguali il filmato che ospita il preload
parte (va al frame 2)
*/
if (caricando == totali) {
_parent.gotoAndPlay(2);
}

 

secondo fotogramma:

gotoAndPlay(1)

la "genialata" di tutto questo è che, avendo utilizzato _parent.getBytesLoaded() e _parent.getBytesTotal() il calcolo dei byte all'interno del preload sarà relativo ad un livello superiore, cioè del movie che ospita il preload, sia questo il filmato principale che degli swf che vado a caricare successivamente.



Ti potrebbe interessare anche

commenta la notizia

Ci sono 1 commenti
Anonimo
è possibile avere un link al progetto .fla? Ho un filmato di nome 1.swf e lo vorrei precaricare con un filmato di nome preloader.swf.

Non riesco a capire cosa non va.
Puoi farmi sapere? Te ne sarò eternamente riconoscente! misterpaint@libero.it