Load-error handling
package {
import flash.display.*;
import flash.net.URLRequest;
import flash.events.*
import flash.text.*;
public class Main extends Sprite {
private var loader:Loader;
private var progressOutput:TextField;
public function Main( ) {
createLoader( );
createProgressIndicator( );
load(new URLRequest("sunset.jpg"));
}
private function createLoader ( ):void {
loader = new Loader( );
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,
progressListener);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,
completeListener);
loader.contentLoaderInfo.addEventListener(Event.INIT,
initListener);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,
ioErrorListener);
}
private function createProgressIndicator ( ):void {
progressOutput = new TextField( );
progressOutput.autoSize = TextFieldAutoSize.LEFT;
progressOutput.border = true;
progressOutput.background = true;
progressOutput.selectable = false;
progressOutput.text = "LOADING...";
}
private function load (urlRequest:URLRequest):void {
loader.load(urlRequest);
if (!contains(progressOutput)) {
addChild(progressOutput);
}
}
private function progressListener (e:ProgressEvent):void {
progressOutput.text = "LOADING: "
+ Math.floor(e.bytesLoaded / 1024)
+ "/" + Math.floor(e.bytesTotal / 1024) + " KB";
}
private function initListener (e:Event):void {
addChild(loader.content);
}
private function completeListener (e:Event):void {
removeChild(progressOutput);
}
private function ioErrorListener (e:IOErrorEvent):void {
progressOutput.text = "LOAD ERROR";
}
}
}
Related examples in the same category