ActionScript 3
Caricamento di file esterni
Ricerca…
Osservazioni
Vi sono alcuni casi in cui l'applicazione non può manipolare il contenuto delle risorse caricate da una risorsa esterna (ad esempio, trasformare le immagini). Non riesco a ricordare per certo quello che sono, ma sono abbastanza sicuro che sia correlato al caricamento di contenuti interdominio.
Caricamento di immagini / file SWF esterni con il caricatore
Crea un oggetto Loader:
var loader:Loader = new Loader(); //import
Aggiungi listener sul caricatore. Quelli standard sono completi e io / errori di sicurezza
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
Carica il file desiderato:
loader.load(new URLRequest("image.png"));
Crea i tuoi gestori di eventi:
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 }
Il caricamento con la classe Loader è asincrono. Ciò significa che dopo aver chiamato
loader.load
l'applicazione continuerà a funzionare mentre il file viene caricato. Il contenuto del caricatore non è disponibile fino a quando il caricatore non invia l'eventoEvent.COMPLETE
.
importazioni necessarie:
import flash.display.Loader;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.SecurityErrorEvent;
import flash.net.URLRequest;
Caricamento di un file di testo con FileStream (solo runtime AIR)
Un semplice esempio su come leggere un file di testo UTF in modo sincrono.
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();