Will man mit ActionScript 3.0 eine SWF, JPG oder PNG Datei zur Laufzeit laden, stellt die einfachste Möglichkeit dazu wohl die Loader Klasse dar.
Betrachten wir mal die Teilschritte die nötig sind um unsere SWF, JPG oder PNG auf die Bühne zu bekommen.
Schritt 1:
Instanziieren der Loader-Klasse
Schritt 2:
EventListener registrieren. Hierbei ist zu beachten, dass das COMPLETE Event nicht unserer Loader Instanz, sondern einem LoaderInfo-Objekt zugewiesen wird. Dieses Objekt stellt Informationen und Statistiken zum Ladefortschritt unserer zu ladenden Datei bereit.
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
Schritt 3:
Schreiben der Funktionen die bei Auftreten unserer Events ausgeführt werden sollen.
Ist die Datei erfolgreich geladen, werden die EventListener entfernt und wir können Größe und Position des geladenen Objekts anpassen. Wichtig ist hier, dass das Ändern der width und height Parameter erst nach erfolgreichem Laden möglich ist. Aus diesem Grund sind diese Anweisungen, in der onComplete Funktion, gut untergebracht.
try {
loader.width = 200;
loader.height = 150;
loader.removeEventListener(Event.COMPLETE, onComplete);
loader.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
} catch (err:Error) {
trace(err.message);
}
}
function onIOError(evt:IOErrorEvent):void {
trace(evt.text);
}
Schritt 4:
Zufügen des Loaders zur Displaylist. Dadurch wird unser zu ladendes Bild überhaupt sichtbar, da der Bühne zugefügt oder einem DisplayObjectContainer untergeordnet.
Schritt 5:
Aufrufen der load Methode um unser kleines Script ins Rollen zu bringen.
Das ist es auch schon gewesen.
Gruß,
D.