ActionScript 3
Laddar externa filer
Sök…
Anmärkningar
Det finns vissa fall där din applikation inte kan manipulera innehållet i tillgångar som laddats från en extern resurs (t.ex. transformera bilder). Jag kan inte komma ihåg med säkerhet vad de är, men jag är ganska säker på att det är relaterat till inhämtning av innehåll på flera domäner.
Laddar externa bilder / SWF: er med lastaren
Skapa ett Loader-objekt:
var loader:Loader = new Loader(); //import
Lägg till lyssnare på lastaren. Standardfel är kompletta och io / säkerhetsfel
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
Ladda den önskade filen:
loader.load(new URLRequest("image.png"));
Skapa dina evenemangshanterare:
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 }
Laddning med Loader- klassen är asynkron. Det betyder att när du ringer
loader.load
kommer programmet att fortsätta köras medan filen laddas. Ditt loaderinnehåll är inte tillgängligt förrän lastaren skickar händelsenEvent.COMPLETE
.
import behövs:
import flash.display.Loader;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.SecurityErrorEvent;
import flash.net.URLRequest;
Laddar en textfil med FileStream (endast AIR-körtid)
Ett enkelt exempel på hur man läser en UTF-textfil synkront.
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();