Nonostante si sia passati da tempo alla versione 3 di Actionscript, ancora ci sono persone che chiedono tutorial Flash di preloader AS 2 per Flash 8 o precedenti.
Come già visto in Preloader per movieclip in as Actionscript 3 preferisco affidare al preloader il compito di caricare i filmati come movieclip esterni: 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 di movieclip:
var somma_f:Number=0;
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.
Ritieni questo post utile o interessante?
Condividi e Segnala
preloader actionscript 2,
preloader as 2,
preloader flash 8,
preloader movieclip,
tutorial flash
Leggi anche:
Enciclopedia di Actionscript 2.0, tutta la sintassi, gli elementi e le classi
Siamo già arrivati alla versione 3.0 dello script di Flash ma ancora pochi sono passati alla nuova suite di Adobe quindi questa "enciclopedia" con tutti gli elementi della versione 2 del linguaggio (classi, oggetti, funzioni etc.), esempi esaustivi, indicizzata in ordine alfabetico, non può che essere ritenuta utilissima, se non indispensabile.
Clicca QUI per accedervi, [...]
Piano roteante texturizzato in Flash con Papervision3D
Già da prima che uscisse la versione 3.0 di ActionScript si sperimentava l'ambiente 3d con Flash, con vere e proprie librerie dedicate come Sandy e PaperVision.
Queste sperimentazioni davano già buoni risultati nella versione 2 dello script, a discapito delle performance.
Tempestivamente PaperVision è stata tradotta anche nella nuova versione del linguaggio, migliorandone enormemente le prestazioni.
Proprio di [...]
Papervision 3D 2.0, una release d’effetto
L'ottima libreria Papervision giunge alla sua versione 2.0 introducendo notevoli migliorie, non solo in termini di performance (una prima stima ci dice di almeno il 23% di guadagno in velocità ) ma soprattutto per nuovi effetti e funzionalità .
La nuova versione rende in un attimo obsoleta la vecchia introducendo:
- Shaders e shaded materials
- phong, flat, cell, gouraud [...]
Preloader per Movieclip in AS Actionscript 3
Adobe con AS Actionscript 3, rivoluzionando il codice ActionScript, ha migliorato notevolmente le performance dei nostri script e non possiamo che esserne felici.
Comunque, insieme all'evoluzione e al perfezionamento, sono venuti fuori anche non pochi problemi di approccio per chi era abituato ad utilizzare sempre lo stesso codice per le funzioni base delle applicazioni Flash Actionscript.
Una [...]
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”);
Se percent_txt è il campo di testo, come hai giustamente scritto, utilizza la proprietà text per scrivere a schermo la percentuale, ma se vuoi che diventi invisibile devi correggere il codice nella funzione onLoadComplete scrivendo, al posto di percent_txt.text._visible= false; la riga percent_txt._visible= false;.
Domanda, se la presentazione in .swf è troppo grande e desiderassi farla caricare in più stadi (cioè una sezione per volta, a seconda di dove si clicca), come posso fare? Grazie in anticipo
Fai più MovieClip esterni e li carichi al click su un pulsante o durante la riproduzione di file già caricati.
Li carichi sempre sullo stesso MovieClip che si occuperà di fare da contenitore…occhio comunque alla profondità dei livelli e valuta se fare l’unload dei filmati che non ti servono più.