ActionScript 3
Chargement de fichiers externes
Recherche…
Remarques
Dans certains cas, votre application ne peut pas manipuler le contenu des ressources chargées à partir d'une ressource externe (par exemple, transformer des images). Je ne me souviens pas avec certitude de ce qu’elles sont, mais je suis à peu près certain que cela concerne le chargement de contenu interdomaine.
Chargement d'images externes / SWF avec le chargeur
Créez un objet Loader:
var loader:Loader = new Loader(); //import
Ajouter des écouteurs sur le chargeur. Les standards sont complets et les erreurs io / de sécurité
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
Chargez le fichier désiré:
loader.load(new URLRequest("image.png"));
Créez vos gestionnaires d'événements:
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 }
Le chargement avec la classe Loader est asynchrone. Cela signifie qu'après avoir appelé
loader.load
l'application continuera à s'exécuter pendant le chargement du fichier. Le contenu de votre chargeur n'est disponible que lorsque le chargeur envoie l'événementEvent.COMPLETE
.
importations nécessaires:
import flash.display.Loader;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.SecurityErrorEvent;
import flash.net.URLRequest;
Chargement d'un fichier texte avec FileStream (moteur d'exécution AIR uniquement)
Un exemple simple sur la manière de lire un fichier texte UTF de manière synchrone.
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();