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

  1. Crea un oggetto Loader:

    var loader:Loader = new Loader();   //import 
    
  2. 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
    
  3. Carica il file desiderato:

     loader.load(new URLRequest("image.png"));
    
  4. 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'evento Event.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();


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow