Preloader per Movieclip esterni in AS2
Nonostante si sia passati da tempo alla versione 3 di Actionscript, ancora ci sono persone che chiedono esempi di preloader per Flash 8 o precedenti.
Come con AS3 preferisco affidare al preloader il compito di caricare il filmato come movieclip esterno: ricordiamoci sempre che il framerate e la dimensione dell’SWF caricato devono essere identiche a quelle del filmato che lo ospita.
Eccovi il codice di esempio da copiare e incollare sulla root del vostro preloader:
my_mc = new MovieClipLoader();
preload = new Object();
my_mc.addListener(preload);
preload.onLoadStart = function(targetMC) {
trace("iniziato caricamento su "+targetMC);
};
preload.onLoadProgress = function(targetMC, lBytes, tBytes) {
somma_f = Math.round((lBytes/tBytes)*100);
trace(somma_f);
}
preload.onLoadComplete = function(targetMC) {
base.gotoAndPlay(2);
};
my_mc.loadClip("promo.swf", "base");
l’Object preload è diventato il listener del MovieClipLoader e si occupa di tenere sotto controllo inizio, progresso e fine del caricamento.
Il MovieClipLoader, tramite il metodo loadClip, carica l’SWF esterno nell’istanza base che abbiamo precedentemente posizionato sullo stage.
Finito il caricamento diciamo a base, su cui è stato caricato il filmato, di andare al frame 2, questo perchè per evitare che inizi a scorrere la timeline prima del tempo abbiamo inserito uno stop sul primo frame del movie importato.
Per chi volesse lo stesso preloader versione AS3, ecco il link.
Cerca: action script, actionscript, AS3, flash, movieclip esterno, passaggio as2 as3Ritieni questo post utile o interessante?
Condividi
Leggi anche:

April 17th, 2008, 12:10 pm
Ho provato a inserire il tuo codice facendo una modifica, ossia anzichè mettere il trace ho fatto scrivere il caricamento all’interno di un testo dinamico “percent_txt”. Però non riesco a dirgli, a caricamento completato, che il campo dinamico non deve essere più visibile. Credo che sia un problema legato al Depth ma non so come dirglielo: mi potresti aiutare?
Di seguito il codice:
var somma_f:Number=0;
my_mc = new MovieClipLoader();
preload = new Object();
my_mc.addListener(preload);
percent_txt.text._visible= true;
preload.onLoadStart = function(targetMC) {
trace(”iniziato caricamento su “+targetMC);
};
preload.onLoadProgress = function(targetMC, lBytes, tBytes) {
somma_f = Math.round((lBytes/tBytes)*100);
percent_txt.text= “Loading: ” + somma_f + ” %”;
}
preload.onLoadComplete = function(targetMC) {
base.gotoAndPlay(1);
percent_txt.text._visible= false;
};
my_mc.loadClip(”Presentazione.swf”, “base”);