Dear all,
I am finishing a preloader that will let me to reuse my code, basically to load XML, imaged and swf . I want to know if what I am doing it is the most efficient way
General function for listeners
function myListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.COMPLETE, handleComplete,false, 0 , true);
dispatcher.addEventListener(ProgressEvent.PROGRESS, handleProgress,false, 0 , true);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler,false, 0 , true);
}
To create listeners
XML
function loadXML(){
xml_URL = "myFile.xml";
xmlRequest = new URLRequest(xml_URL);
xmlLoader = new URLLoader(xmlRequest);
myListeners(xmlLoader);
}
SWF, images
function loadImage{
var assetsURL:String = "muFile.gif";//or swf
var assetsLoader:Loader = new Loader();
var assetsRequest:URLRequest = new URLRequest(assetsURL);
myListeners(assetsLoader.contentLoaderInfo)
assetsLoader.load(assetsRequest);
}
Function Events
function handleProgress( event:ProgressEvent ):void {
var percentLoaded:Number = event.bytesLoaded/event.bytesTotal;
percentLoaded = Math.round(percentLoaded * 100);
}
function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
function handleComplete( event:Event ):void {
if (event.currentTarget is URLLoader){
var loader:URLLoader = URLLoader(event.target);
myFunction (loader.data)// process the data
}
if (event.currentTarget is LoaderInfo){
var loadedContent:Loader = Loader(event.target.loader);
myFunction (loadedContent)//process the content
}
}
I will appreciate your feedback