Carga de imágenes y SWF en AS3 con Loader
El código de este ejemplo sirve para cargar una imagen (jpg, gif o png) o swf controlando el proceso de carga. Para cargar otro tipo de archivos (por ejemplo XML o texto), hay que utilizar URLLoader.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
//Importo las clases necesarias import flash.display.Loader; import flash.display.Sprite; import flash.events.*; import flash.net.URLRequest; //Asigno la url que se va a cargar var url:String = "foto.jpeg"; //Carga la imagen function CargarFoto() { //Creo el objeto cargador var loader:Loader = new Loader(); //Le añado los listeners ponerListeners(loader.contentLoaderInfo); //Creo el objeto que contendrá la petición var peticion:URLRequest = new URLRequest(url); //Cargo la petición loader.load(peticion); } //Añade los listeners al cargador function ponerListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(Event.INIT, initHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); } //Funcion que se ejecuta cuando termina la descarga. function completeHandler(event:Event):void { trace("completeHandler: " + event); addChild(event.target.content); } //Se ejecuta al recibir un código de estado HTTP function httpStatusHandler(event:HTTPStatusEvent):void { trace("httpStatusHandler: " + event); } //Se distribuye cuando las propiedades del objeto cargado están disponibles //A partir de su distribucion podriamos modificar el objeto (ancho, escala, etc) function initHandler(event:Event):void { trace("initHandler: " + event); } //Se ejecuta cuando hay un error de entrada/salida, por ejemplo, al intentar cargar un //archivo inexistente function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } //Se ejecuta cuando comienza la operación de carga function openHandler(event:Event):void { trace("openHandler: " + event); } //Se ejecuta periodicamente mientras dura la carga function progressHandler(event:ProgressEvent):void { trace("progressHandler: bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal); } //Empezamos CargarFoto(); |