ActionScript 3
Cargando archivos externos
Buscar..
Observaciones
En algunos casos, su aplicación no puede manipular el contenido de los recursos cargados desde un recurso externo (por ejemplo, transformar imágenes). No puedo recordar con certeza cuáles son, pero estoy bastante seguro de que está relacionado con la carga de contenido entre dominios.
Carga de imágenes externas / SWF con el cargador
Crear un objeto Loader:
var loader:Loader = new Loader(); //import
Añadir escuchas en el cargador. Los estándares están completos y los errores de seguridad / io
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); //when the loader is done loading, call this function loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadIOError); //if the file isn't found loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loadSecurityError); //if the file isn't allowed to be loaded
Cargue el archivo deseado:
loader.load(new URLRequest("image.png"));
Crea tus manejadores de eventos:
function loadComplete(e:Event):void { //load complete //the loader is actually a display object itself, so you can just add it to the display list addChild(loader) //or addChild(loader.content) to add the root content of what was loaded; } function loadIOError(e:IOErrorEvent):void { //the file failed to load, } function loadSecurityError(e:SecurityError):void { //the file wasn't allowed to load }
La carga con la clase Loader es asíncrona. Esto significa que después de llamar a
loader.load
la aplicación continuará ejecutándose mientras se carga el archivo. El contenido de su cargador no estará disponible hasta que el cargadorEvent.COMPLETE
eventoEvent.COMPLETE
.
importaciones necesarias:
import flash.display.Loader;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.SecurityErrorEvent;
import flash.net.URLRequest;
Cargando un archivo de texto con FileStream (solo AIR runtime)
Un ejemplo simple sobre cómo leer un archivo de texto UTF de forma síncrona.
import flash.filesystem.File;
import flash.filesystem.FileMode;
import flash.filesystem.FileStream;
//First, get a reference to the file you want to load
var myFile:File = File.documentsDirectory.resolvePath("lifestory.txt");
//Create a FileStream object
fileStream = new FileStream();
//open the file
fileStream.open(myFile, FileMode.READ);
//read the data and assign it to a local variable
var fileText:String = fileStream.readUTF();
//close the current filestream
fileStream.close();