Terzo appuntamento con le novità di Actioscript 3 nel quale analizzaremo la classe Loader.
I metodi loadClip e loadMovie hanno fatto il loro tempo.
La classe Loader ha preso il loro posto portando una serie di novità, anche se la sua gestione è abbastanza simile a quella della “vecchia” classe MovieClipLoader.
In questo esempio, creeremo un’istanza della classe Loader e caricheremo l’immagine utilizzando il metodo load(), che accetta come parametro un’istanza della classe URLRequest (un'altra novità di ActionScript 3.0), nella quale abbiamo incapsulato il percorso dell’immagine che vogliamo caricare.
Definiamo infine gli eventi ProgressEvent.PROGRESS ed Event.COMPLETE, che rispettivamente ci forniranno informazioni riguardo al caricamento dell’immagine ed al suo completamento.
import flash.display.*;
import flash.net.URLRequest;
import flash.events.Event;
var loader:Loader = new Loader();
var url:String = "image.jpg";
var urlReq:URLRequest = new URLRequest(url);
loader.load(urlReq);
addChild(loader);
// Caricamento in corso
function onProgress(event:ProgressEvent):void {
trace(" Percentuale caricamento: " + int((event.bytesLoaded/event.bytesTotal)*100));
}
// Caricamento Completato
function onComplete(event:Event):void {
trace(" ::: CARICAMENTO COMPLETATO :::");
}
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
NOTA:
La proprietà contentLoaderInfo contiene informazioni e statistiche inerenti al processo di caricamento. E’ importante notare come i due eventi facciano parte di due classi distinte: la fase di caricamento viene infatti gestita dalla classe ProgressEvent, mentre il completamento dalla classe Event.








Commenti (1)
Anzitutto, grazie per tutta la documentazione offerta, penso sia una vera manna per chi come me si sta avvicinando per la prima volta a Flash, passando direttamente all'ActionScript 3.0 (cosa che secondo me è tutt altro che un male). :)
Stavo provando il codice proposto... è possibile che manchi un "import flash.events.ProgressEvent;"?
Postato da Hiric | 23.11.07 19:12
Postato il 23.11.07 19:12