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 di queste è il classico filmato di preload o preloader che anticipa siti e animazioni Flash di grossa portata.
In questo tutorial Flash spiegheremo il codice da usare in un preloader per caricare movieclip esterni con la versione 3 di Actionscript.
Vi sono vari modi per realizzare un preloader in Flash, quello che preferisco è un filmato che carica al suo interno il movieclip esterno che vogliamo visualizzare: ricordiamoci che le dimensioni e il framerate del filmato finale coincidono con quelle del filmato che lo contiene.
Questo il codice da inserire nel primo e unico frame del filmato che conterrà l’animazione di preload.
var loader:Loader = new Loader();
var thisMC;
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
function loadProgress(event:ProgressEvent):void {
var percentLoaded:Number = event.bytesLoaded/event.bytesTotal;
percentLoaded = Math.round(percentLoaded * 100);
trace(percentLoaded.toString()+"%");
}
function loadComplete(event:Event):void {
thisMC = MovieClip(loader.content);
loader.unload();
base.addChild(thisMC);
thisMC.gotoAndPlay(1);
}
loader.load(request);
L’ Actionscript è breve e semplice: si instanza un URLRequest che caricherà il movieclip esterno, quindi un Loader e la variabile thisMC a cui assegneremo poi il filmato caricato.
Creiamo 2 EventListener che richiamano le funzioni di gestione dell’avanzamento del caricamento e del suo completamento, scriviamo queste funzioni e infine, nell’ultima riga, diciamo al Loader di caricare il movieclip esterno.
La funzione loadProgress è chiara, basta dire che per calcolare il rapporto tra bytes caricati e totali si fa riferimento all’evento passato come parametro dall’EventListener;
la funzione loadComplete è più importante ma sempre semplice da comprendere: facciamo un casting come movieclip del contenuto del Loader e quindi un’assegnazione alla variabile thisMC, scarichiamo dalla memoria il Loader ormai inutile, aggiungiamo il movieclip ad uno vuoto (qui chiamato base) che avremo precedentemente posizionato sullo Stage ed infine diciamo allo stesso di partire dal primo frame: questa operazione è importante perchè altrimenti mostrerebbe il frame dove è arrivato dall’inizio del caricamento dal parte del Loader.
Altro aspetto interessante che possiamo apprendere da questa spiegazione è la semplicità con cui si fa riferimento al filmato appena caricato: basta assegnarlo ad una variabile per gestirlo completamente come se si trovasse sullo Stage.
Se a qualcuno servisse il preloader per movieclip in AS Actionscript 2: Preloader per movieclip in as Actionscript 2
Cerca: preloader AS 3, preloader flash, preloader movieclip, tutorial flashRitieni questo post utile o interessante?
Condividi e Segnala
Leggi anche:





February 2nd, 2008, 7:15 pm
Da profano ho copiato il codice e seguito le istruzioni ma ottengo: 4 errori
1095:
Errore di sintassi: il valore letterale della stringa deve essere terminato prima dell’interruzione di riga.
February 4th, 2008, 3:25 pm
Ho ricontrollato il codice e c’era un errore di decodifica dell’HTML, ho corretto e puoi riprovare.
March 27th, 2008, 6:35 pm
[…] chi volesse lo stesso preloader versione AS3, ecco il link. Cerca: action script, actionscript, AS3, flash, movieclip esterno, passaggio as2 as3, […]