ActionScript 3
Externe bestanden laden
Zoeken…
Opmerkingen
Er zijn enkele gevallen waarin uw toepassing de inhoud van middelen die zijn geladen vanuit een externe bron (bijvoorbeeld afbeeldingen transformeren) niet kan manipuleren. Ik weet niet zeker wat ze zijn, maar ik ben er vrij zeker van dat dit verband houdt met het laden van inhoud tussen verschillende domeinen.
Externe afbeeldingen / SWF's laden met de lader
Maak een Loader-object:
var loader:Loader = new Loader(); //import
Voeg luisteraars toe aan de lader. Standaard zijn compleet en io / beveiligingsfouten
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
Laad het gewenste bestand:
loader.load(new URLRequest("image.png"));
Maak uw eventhandlers:
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 }
Laden met de klasse Loader is asynchroon. Dit betekent dat nadat u
loader.load
hebtloader.load
de toepassing blijft draaien terwijl het bestand wordt geladen. De inhoud van je loader is niet beschikbaar totdat de loader deEvent.COMPLETE
gebeurtenis verzendt.
invoer nodig:
import flash.display.Loader;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.SecurityErrorEvent;
import flash.net.URLRequest;
Een tekstbestand laden met FileStream (alleen AIR-runtime)
Een eenvoudig voorbeeld van het synchroon lezen van een UTF-tekstbestand.
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();