[AS2] LoaderManager.class

Caricamenti multipli con poco codice.

Inserito il 19-04-2009

La classe LoaderManager consente di effettuare e gestire facilmente i caricamenti multipli, basandosi sulla classe MovieClipLoader, già trattata in precedenza.
Sfrutta gli stessi eventi della classe MovieClipLoader oltre ad uno aggiuntivo, onMultipleLoadComplete che viene elaborato quando tutti i file esterni sono stati caricati.
La classe è di tipo singleton, ossia non possono esistere più istanze della stessa nella stessa applicazione e le azioni vengono richiamate direttamente dal nome della classe stessa.

I metodi della classe sono in ordine:

Mentre le proprietà sono:

Infine, per completezza nella lista, ricapitoliamo gli eventi disponibili per la classe:

Per finire facciamo un esempio pratico di utilizzo della classe con un caricamento unico di tre immagini e l'ordinamento delle stesse a caricamento completato:

var listener:LoaderManager = LoaderManager.getInstance();
listener.onLoadStart = function (t) {
	trace ("Load Started for "+t);
}
listener.onLoadProgress = function (t, bl, bt) {
	var car = LoaderManager.bytesLoaded;
	var tot = LoaderManager.bytesTotal;
	var prc = Math.floor((car/tot)*100);
	trace(prc+"% : "+car+" di "+tot);
}
listener.onLoadComplete = function (t) {
	trace ("Load Completed for "+t);
}
listener.onLoadInit = function (t) {
	trace(LoaderManager.loaders.length);
	trace ("MovieClip initialization for "+t);
}
listener.onMultipleLoadComplete = function () {
	trace(LoaderManager.loaders.length);
	for (var i=0; i<LoaderManager.loaders.length; i++) {
		LoaderManager.loaders[i]._x = i*200;
	}
}
var a:Array = ["albero", "cascate", "pesce"];
for (var i:Number=0; i<a.length; i++) {
	LoaderManager.addLoader(this.createEmptyMovieClip("mc"+i, i), a[i]+".jpg");
	trace(LoaderManager.loaders.length);
}

Potete scaricare la classe con l'esempio (escluse le immagini) dal link: ../classes/loader_manager.zip, saluti.