Pacchetto | flash.display |
Classe | public class Loader |
Ereditarietà | Loader DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
Sottoclassi | AVLoader, FlexLoader |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
load()
per avviare un caricamento. L'oggetto di visualizzazione caricato viene aggiunto come elemento secondario dell'oggetto Loader.
Utilizzate la classe URLLoader per caricare dati di testo o binari.
La classe Loader sostituisce i seguenti metodi che eredita, perché un oggetto Loader può avere un unico oggetto di visualizzazione secondario, ovvero quello di cui esegue il caricamento. Una chiamata ai metodi seguenti genera un'eccezione: addChild()
, addChildAt()
, removeChild()
, removeChildAt()
e setChildIndex()
. Per rimuovere un oggetto di visualizzazione caricato, dovete rimuovere l'oggetto Loader dall'array di elementi secondari del suo DisplayObjectContainer principale.
Note iOS
Nelle applicazioni AIR in iOS, potete caricare soltanto un file SWF contenente ActionScript dal pacchetto applicazione. La restrizione include qualsiasi ActionScript, come ad esempio le risorse con i nomi delle classi esportate per ActionScript. Per caricare un file SWF, dovete utilizzare lo stesso dominio di applicazione dell’SWF principale, come illustrato nel seguente esempio:
var loader:Loader = new Loader(); var url:URLRequest = new URLRequest("swfs/SecondarySwf.swf"); var loaderContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain, null); loader.load(url, loaderContext);
Inoltre, in iOS non potete caricare un file SWF contenente tutto il ByteCode ActionScript (ABC), quindi scaricarlo e ricaricarlo. Se tentate di eseguire questa operazione, il runtime genera l’errore 3764.
Nelle versioni di AIR precedenti alla 3.6, solo i file SWF che non contengono un codice byte ActionScript possono essere caricati, indipendentemente dal fatto che vengano caricati dal pacchetto applicazione o da una rete. In alternativa all’utilizzo di un file SWF esterno con ActionScript, potete creare una libreria SWC e collegarla al vostro SWF principale.
AIR 3.7 e versioni successive supportano il caricamento di file SWF secondari su host esterni. La descrizione dettagliata su questa funzione è disponibile qui.
Queste restrizioni per iOS non valgono quando un’applicazione è in esecuzione nel simulatore iOS (ipa-test-interpreter-simulator o ipa-debug-interpreter-simulator) o in modalità interprete (ipa-test-interpreter or ipa-debug-interpreter.)
Sicurezza del Loader
Quando utilizzate la classe Loader, considerate il modello di sicurezza di Flash Player o Adobe AIR:
- Potete caricare contenuto da qualunque origine accessibile.
- Il caricamento non è consentito se il file SWF che effettua la chiamata si trova in una sandbox di rete e il file da caricare è locale.
- Se il contenuto caricato è un file SWF scritto in ActionScript 3.0, non può essere utilizzato per lo scambio di script da un altro file SWF file appartenente a una sicurezza sandbox diversa, a meno che lo scambio non sia stato concordato mediante una chiamata al metodo
System.allowDomain()
oSystem.allowInsecureDomain()
nel file di contenuto caricato. - Se il contenuto caricato è un file SWF AVM1 SWF scritto in ActionScript 1.0 o 2.0, non può essere utilizzato per lo scambio di script da un file SWF AVM2 scritto in ActionScript 3.0. Tuttavia, i due file SWF possono comunicare tramite la classe LocalConnection.
- Se il contenuto caricato è un'immagine, un file SWF esterno alla sandbox di sicurezza non può accedere ai dati dell'immagine, a meno che il dominio del file SWF non sia stato incluso in un file di criteri degli URL nel dominio di origine dell'immagine.
- I clip filmato nella sandbox locale con file system non possono scambiare script con clip filmato nella sandbox locale con rete (e viceversa).
- Non potete collegarvi alle porte comunemente riservate. Per un elenco completo di porte bloccate, vedete "Limitazioni delle API di connettività di rete" nella Guida per gli sviluppatori di ActionScript 3.0.
Tuttavia, in AIR il contenuto della sandbox di sicurezza dell'applicazione
(contenuto installato con l'applicazione AIR) non è interessato da queste limitazioni di sicurezza.
Per ulteriori informazioni sulla sicurezza, vedete l'argomento sulla sicurezza nel Centro per sviluppatori di Flash Player .
Quando caricate un file SWF da un'origine non affidabile (ad esempio un dominio diverso da quello del file SWF principale dell'oggetto Loader), può essere opportuno definire una maschera per l'oggetto Loader, in modo da impedire che il contenuto caricato (che è un elemento secondario dell'oggetto Loader) possa essere disegnato in parti dello stage al di fuori della maschera, come nel codice seguente:
import flash.display.*; import flash.net.URLRequest; var rect:Shape = new Shape(); rect.graphics.beginFill(0xFFFFFF); rect.graphics.drawRect(0, 0, 100, 100); rect.graphics.endFill(); addChild(rect); var ldr:Loader = new Loader(); ldr.mask = rect; var url:String = "http://www.unknown.example.com/content.swf"; var urlReq:URLRequest = new URLRequest(url); ldr.load(urlReq); addChild(ldr);
Nota: ATS (App Transport Security) viene introdotto da Apple in iOS9 e non consente le connessioni non protette tra l'app e i servizi Web. A causa di questa modifica tutte le connessioni ai siti Web non protetti tramite Loader, URLLoader verranno interrotte e non funzioneranno a causa di ATS (App Transport Security). Specificate le eccezioni per il comportamento predefinito aggiungendo tasti a Info.plist nell'app.
Per disattivare completamente la funzionalità potete aggiungere quanto segue in Info.plist; funzionerà come prima.
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key><true/> </dict>
Specificate le eccezioni per il comportamento predefinito aggiungendo tasti al tag InfoAdditions del descrittore dell'applicazione nell'app.
<iPhone> <InfoAdditions> <![CDATA[ <key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>www.example.com</key> <dict> <!--Include to allow subdomains--> <key>NSIncludesSubdomains</key> <true/> <!--Include to allow HTTP requests--> <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> <true/> <!--Include to specify minimum TLS version--> <key>NSTemporaryExceptionMinimumTLSVersion</key> <string>TLSv1.1</string> </dict> </dict> </dict> ]]> </InfoAdditions> </iPhone>
Altri esempi
Altre informazioni
Elementi fondamentali della programmazione degli elementi visivi
Classi di visualizzazione di base
Caricamento dinamico di contenuto di visualizzazione
Utilizzo del mipmapping
Elementi API correlati
Proprietà | Definito da | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
L'implementazione di accessibilità corrente (AccessibilityImplementation) di questa istanza InteractiveObject. | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
Le opzioni di accessibilità correnti di questo oggetto di visualizzazione. | DisplayObject | ||
alpha : Number
Indica il valore della trasparenza alfa dell'oggetto specificato. | DisplayObject | ||
blendMode : String
Un valore della classe BlendMode che specifica il metodo di fusione da utilizzare. | DisplayObject | ||
blendShader : Shader [sola scrittura]
Imposta uno shader utilizzato per la fusione dei colori di primo piano e sfondo. | DisplayObject | ||
cacheAsBitmap : Boolean
Se è impostata su true, nella cache dei runtime Flash viene memorizzata una rappresentazione bitmap interna dell'oggetto di visualizzazione. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
Se il valore è diverso da null, questo oggetto Matrix definisce il modo in cui viene eseguito il rendering di un oggetto di visualizzazione quando cacheAsBitmap è impostato su true. | DisplayObject | ||
constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object | ||
content : DisplayObject [sola lettura]
Contiene l'oggetto di visualizzazione principale del file SWF o del file di immagine (JPG, PNG o GIF) caricato mediante il metodo load() o loadBytes(). | Loader | ||
contentLoaderInfo : LoaderInfo [sola lettura]
Restituisce un oggetto LoaderInfo corrispondente all'oggetto che viene caricato. | Loader | ||
contextMenu : NativeMenu
Specifica il menu di scelta rapida associato all'oggetto. | InteractiveObject | ||
doubleClickEnabled : Boolean
Specifica se l'oggetto riceve gli eventi doubleClick. | InteractiveObject | ||
filters : Array
Un array indicizzato che contiene ogni oggetto filtro attualmente associato all'oggetto di visualizzazione. | DisplayObject | ||
focusRect : Object
Specifica se l'oggetto visualizza un rettangolo di attivazione. | InteractiveObject | ||
height : Number
Indica l'altezza dell'oggetto di visualizzazione espressa in pixel. | DisplayObject | ||
loaderInfo : LoaderInfo [sola lettura]
Restituisce un oggetto LoaderInfo contenente informazioni sul caricamento del file al quale questo oggetto di visualizzazione appartiene. | DisplayObject | ||
mask : DisplayObject
L'oggetto di visualizzazione chiamante viene mascherato dall'oggetto mask specificato. | DisplayObject | ||
metaData : Object
Ottiene l’oggetto di metadati dell’istanza DisplayObject se i metadati sono stati memorizzati insieme all’istanza di questo DisplayObject nel file SWF mediante un tag PlaceObject4. | DisplayObject | ||
mouseChildren : Boolean
Determina se gli elementi secondari dell'oggetto sono abilitati o meno per il mouse o per il dispositivo di input dell'utente. | DisplayObjectContainer | ||
mouseEnabled : Boolean
Specifica se questo oggetto riceve messaggi del mouse o di altri dispositivi di input dell'utente. | InteractiveObject | ||
mouseX : Number [sola lettura]
Indica la coordinata x del mouse o la posizione del dispositivo di input dell'utente, espressa in pixel. | DisplayObject | ||
mouseY : Number [sola lettura]
Indica la coordinata y del mouse o la posizione del dispositivo di input dell'utente, espressa in pixel. | DisplayObject | ||
name : String
Indica il nome dell'istanza dell'oggetto DisplayObject. | DisplayObject | ||
needsSoftKeyboard : Boolean
Specifica se deve essere visualizzata una tastiera virtuale (una tastiera software a video) quando questa istanza InteractiveObject riceve lo stato di attivazione. | InteractiveObject | ||
numChildren : int [sola lettura]
Restituisce il numero di elementi secondari di questo oggetto. | DisplayObjectContainer | ||
opaqueBackground : Object
Specifica se l'oggetto di visualizzazione è opaco con un determinato colore di sfondo. | DisplayObject | ||
parent : DisplayObjectContainer [sola lettura]
Indica l'oggetto DisplayObjectContainer che contiene questo oggetto di visualizzazione. | DisplayObject | ||
root : DisplayObject [sola lettura]
Nel caso di un oggetto di visualizzazione all'interno di un file SWF caricato, la proprietà principale è l'oggetto di visualizzazione più in alto nella porzione della struttura dell'elenco di visualizzazione rappresentata da quel file SWF. | DisplayObject | ||
rotation : Number
Indica la rotazione dell'istanza DisplayObject, espressa in gradi, rispetto alla posizione originale. | DisplayObject | ||
rotationX : Number
Indica la rotazione dell'asse x dell'istanza DisplayObject, espressa in gradi, rispetto all'orientamento originale relativo al contenitore principale 3D. | DisplayObject | ||
rotationY : Number
Indica la rotazione dell'asse y dell'istanza DisplayObject, espressa in gradi, rispetto all'orientamento originale relativo al contenitore principale 3D. | DisplayObject | ||
rotationZ : Number
Indica la rotazione dell'asse z dell'istanza DisplayObject, espressa in gradi, rispetto all'orientamento originale relativo al contenitore principale 3D. | DisplayObject | ||
scale9Grid : Rectangle
La griglia di modifica in scala attualmente attiva. | DisplayObject | ||
scaleX : Number
Indica la scala orizzontale (percentuale) dell'oggetto applicata dal punto di registrazione. | DisplayObject | ||
scaleY : Number
Indica la scala verticale (percentuale) di un oggetto applicata dal punto di registrazione dell'oggetto. | DisplayObject | ||
scaleZ : Number
Indica la scala di profondità (percentuale) di un oggetto applicata dal punto di registrazione dell'oggetto. | DisplayObject | ||
scrollRect : Rectangle
I limiti del rettangolo di scorrimento dell'oggetto di visualizzazione. | DisplayObject | ||
softKeyboard : String
Controlla l'aspetto della tastiera software. | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
Definisce l’area che deve rimanere visibile sullo schermo quando è visualizzata una tastiera virtuale (non disponibile in iOS). | InteractiveObject | ||
stage : Stage [sola lettura]
Lo stage dell'oggetto di visualizzazione. | DisplayObject | ||
tabChildren : Boolean
Determina se gli elementi secondari dell'oggetto sono abilitati per la tabulazione. | DisplayObjectContainer | ||
tabEnabled : Boolean
Specifica se questo oggetto è incluso nell'ordine di tabulazione. | InteractiveObject | ||
tabIndex : int
Specifica l'ordine di tabulazione degli oggetti in un file SWF. | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [sola lettura]
Restituisce un oggetto TextSnapshot per questa istanza DisplayObjectContainer. | DisplayObjectContainer | ||
transform : flash.geom:Transform
Un oggetto con proprietà relative alla matrice, alla trasformazione del colore e ai limiti di pixel di un oggetto di visualizzazione. | DisplayObject | ||
uncaughtErrorEvents : UncaughtErrorEvents [sola lettura]
Un oggetto che invia un evento uncaughtError quando si verifica un errore non gestito nel file SWF caricato da questo oggetto Loader. | Loader | ||
visible : Boolean
Determina se l'oggetto di visualizzazione è visibile o meno. | DisplayObject | ||
width : Number
Indica la larghezza dell'oggetto di visualizzazione espressa in pixel. | DisplayObject | ||
x : Number
Indica la coordinata x dell'istanza DisplayObject relativa alle coordinate locali del DisplayObjectContainer principale. | DisplayObject | ||
y : Number
Indica la coordinata y dell'istanza DisplayObject relativa alle coordinate locali del DisplayObjectContainer principale. | DisplayObject | ||
z : Number
Indica la posizione della coordinata z lungo l'asse z dell'istanza DisplayObject relativa al contenitore principale 3D. | DisplayObject |
Metodo | Definito da | ||
---|---|---|---|
Loader()
Crea un oggetto Loader che può essere utilizzato per caricare file, ad esempio SWF, JPEG, GIF o PNG. | Loader | ||
Aggiunge un'istanza secondaria DisplayObject a questa istanza DisplayObjectContainer. | DisplayObjectContainer | ||
Aggiunge un'istanza secondaria DisplayObject a questa istanza DisplayObjectContainer. | DisplayObjectContainer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un oggetto listener di eventi con un oggetto EventDispatcher, in modo che il listener riceva la notifica di un evento. | EventDispatcher | ||
Indica se le restrizioni di sicurezza possono determinare l'omissione di eventuali oggetti di visualizzazione dall'elenco restituito dalla chiamata al metodo DisplayObjectContainer.getObjectsUnderPoint() con il punto specificato. | DisplayObjectContainer | ||
Annulla un'operazione del metodo load() attualmente in corso per l'istanza Loader. | Loader | ||
Determina se l'oggetto di visualizzazione specificato è un elemento secondario dell'istanza DisplayObjectContainer oppure è l'istanza stessa. | DisplayObjectContainer | ||
Invia un evento nel flusso di eventi. | EventDispatcher | ||
Restituisce un rettangolo che definisce l'area dell'oggetto di visualizzazione relativa al sistema di coordinate dell'oggetto targetCoordinateSpace. | DisplayObject | ||
Restituisce l'istanza dell'oggetto di visualizzazione secondario che si trova in corrispondenza della posizione di indice specificata. | DisplayObjectContainer | ||
Restituisce l'oggetto di visualizzazione secondario al quale corrisponde il nome specificato. | DisplayObjectContainer | ||
Restituisce la posizione di indice di un'istanza DisplayObject secondaria. | DisplayObjectContainer | ||
Restituisce un array di oggetti che si trovano sotto il punto specificato e sono elementi secondari (di uno o più livelli inferiori) di questa istanza DisplayObjectContainer. | DisplayObjectContainer | ||
Restituisce un rettangolo che definisce i bordi dell'oggetto di visualizzazione in base al sistema di coordinate definito dal parametro targetCoordinateSpace, esclusi gli eventuali tratti presenti sulle forme. | DisplayObject | ||
Converte le coordinate dello stage (globali) in quelle (locali) dell'oggetto di visualizzazione per l'oggetto Point. | DisplayObject | ||
Converte un punto bidimensionale dalle coordinate dello stage (globali) in quelle (locali) di un oggetto di visualizzazione tridimensionale. | DisplayObject | ||
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento. | EventDispatcher | ||
Indica se per un oggetto è definita una proprietà specifica. | Object | ||
Valuta il riquadro di delimitazione dell'oggetto di visualizzazione per verificare se si sovrappone o si interseca con il riquadro di delimitazione dell'oggetto di visualizzazione obj. | DisplayObject | ||
Valuta l'oggetto di visualizzazione per stabilire se si sovrappone o si interseca con il punto specificato dai parametri x e y. | DisplayObject | ||
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | ||
Carica un file SWF, JPEG, JPEG progressivo, GIF non animato o PNG in un oggetto che è un elemento secondario dell'oggetto Loader. | Loader | ||
Carica dai dati binari memorizzati nell'oggetto ByteArray. | Loader | ||
Carica un'istanza IFilePromise. | Loader | ||
Converte un punto tridimensionale delle coordinate (locali) dell'oggetto di visualizzazione tridimensionale in un punto bidimensionale nelle coordinate dello stage (globali). | DisplayObject | ||
Converte le coordinate dell'oggetto di visualizzazione (locali) in quelle dello stage (globali) per l'oggetto Point. | DisplayObject | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
Rimuove l'istanza DisplayObject secondaria specificata dall'elenco degli elementi secondari dell'istanza DisplayObjectContainer. | DisplayObjectContainer | ||
Rimuove un'istanza DisplayObject secondaria dalla posizione di indice specificata nell'elenco degli elementi secondari di DisplayObjectContainer. | DisplayObjectContainer | ||
Rimuove tutte le istanze DisplayObject secondarie dall'elenco degli elementi secondari dell'istanza DisplayObjectContainer. | DisplayObjectContainer | ||
Rimuove un listener dall'oggetto EventDispatcher. | EventDispatcher | ||
Alza una tastiera virtuale. | InteractiveObject | ||
Cambia la posizione di un elemento secondario nel contenitore di oggetto di visualizzazione. | DisplayObjectContainer | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
Interrompe in modo ricorsivo l’esecuzione della linea temporale di qualsiasi MovieClips che ha origine in questo oggetto. | DisplayObjectContainer | ||
Scambia lo z-order (ordine di profondità) degli oggetti secondari specificati. | DisplayObjectContainer | ||
Scambia lo z-order (ordine di profondità) degli oggetti secondari nelle due posizioni di indice specificate nell'elenco degli elementi secondari. | DisplayObjectContainer | ||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
Restituisce la rappresentazione in formato stringa dell'oggetto specificato. | Object | ||
Rimuove un elemento secondario di questo oggetto Loader caricato mediante il metodo load(). | Loader | ||
Tenta di scaricare il contenuto del file SWF secondario e interrompe l'esecuzione dei comandi dai file SWF caricati. | Loader | ||
Restituisce il valore di base dell'oggetto specificato. | Object | ||
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato. | EventDispatcher |
content | proprietà |
content:DisplayObject
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Contiene l'oggetto di visualizzazione principale del file SWF o del file di immagine (JPG, PNG o GIF) caricato mediante il metodo load()
o loadBytes()
.
Implementazione
public function get content():DisplayObject
Genera
SecurityError — Il file SWF o i file di immagine caricato appartiene a una sicurezza sandbox alla quale non si ha accesso. Per un file SWF caricato, potete evitare questa situazione chiamando nel file il metodo Security.allowDomain() o specificando nel file un parametro loaderContext con la proprietà securityDomain impostata su SecurityDomain.currentDomain quando chiamate il metodo load() o loadBytes() .
|
Elementi API correlati
contentLoaderInfo | proprietà |
contentLoaderInfo:LoaderInfo
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Restituisce un oggetto LoaderInfo corrispondente all'oggetto che viene caricato. Gli oggetti LoaderInfo sono condivisi dall'oggetto Loader e dall'oggetto del contenuto caricato. L'oggetto LoaderInfo fornisce informazioni sullo stato del caricamento e statistiche sul file caricato.
Gli eventi correlati con il caricamento vengono inviati dall'oggetto LoaderInfo a cui fa riferimento la proprietà contentLoaderInfo
dell'oggetto Loader. La proprietà contentLoaderInfo
viene impostata su un oggetto LoaderInfo valido, anche prima che il contenuto venga caricato, per consentire di aggiungere dei listener di eventi all'oggetto prima del caricamento.
Per rilevare gli errori non rilevati che si verificano in un file SWF caricato, utilizzate la proprietà Loader.uncaughtErrorEvents
, non la proprietà Loader.contentLoaderInfo.uncaughtErrorEvents
.
Implementazione
public function get contentLoaderInfo():LoaderInfo
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
var url:String = "http://www.helpexamples.com/flash/images/image2.jpg"; var urlRequest:URLRequest = new URLRequest(url); var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_complete); loader.load(urlRequest); addChild(loader); function loader_complete(evt:Event):void { var target_mc:Loader = evt.currentTarget.loader as Loader; target_mc.x = (stage.stageWidth - target_mc.width) / 2; target_mc.y = (stage.stageHeight - target_mc.height) / 2; }
uncaughtErrorEvents | proprietà |
uncaughtErrorEvents:UncaughtErrorEvents
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10.1, AIR 2 |
Un oggetto che invia un evento uncaughtError
quando si verifica un errore non gestito nel file SWF caricato da questo oggetto Loader. Un errore non rilevato si verifica quando un errore viene generato esternamente a qualsiasi blocco try..catch
o quando un oggetto ErrorEvent viene inviato senza listener registrati.
Notate che la proprietà uncaughtErrorEvents
di un oggetto Loader invia eventi che si propagano attraverso tale oggetto, non eventi inviati direttamente. Non invia mai uncaughtErrorEvent
nella fase target. Invia l'evento solo nelle fasi di cattura e bubbling. Per rilevare un errore non rilevato nel file SWF corrente (ovvero il file SWF in cui è definito l'oggetto Loader), utilizzate invece la proprietà LoaderInfo.uncaughtErrorEvents
.
Se il contenuto caricato dall'oggetto Loader è un file SWF AVM1 (ActionScript 2), gli errori non rilevati nel file SWF AVM1 non generano un evento uncaughtError
.
Implementazione
public function get uncaughtErrorEvents():UncaughtErrorEvents
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
uncaughtError
per il rilevamento di errori non rilevati.
Nella funzione di costruzione il codice crea un oggetto Loader e registra un listener per l'evento uncaughtError
inviato dalla proprietà uncaughtErrorEvents
dell'oggetto Loader.
Nel metodo uncaughtErrorHandler()
, il codice controlla il tipo di dati della proprietà error
e risponde di conseguenza.
package { import flash.display.Loader; import flash.display.Sprite; import flash.events.ErrorEvent; import flash.events.UncaughtErrorEvent; import flash.net.URLRequest; public class LoaderUncaughtErrorEventExample extends Sprite { private var ldr:Loader; public function LoaderUncaughtErrorEventExample() { ldr = new Loader(); ldr.load(new URLRequest("child.swf")); ldr.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, uncaughtErrorHandler); } private function uncaughtErrorHandler(event:UncaughtErrorEvent):void { if (event.error is Error) { var error:Error = event.error as Error; // do something with the error } else if (event.error is ErrorEvent) { var errorEvent:ErrorEvent = event.error as ErrorEvent; // do something with the error } else { // a non-Error, non-ErrorEvent type was thrown and uncaught } } } }
Loader | () | Funzione di costruzione |
public function Loader()
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Crea un oggetto Loader che può essere utilizzato per caricare file, ad esempio SWF, JPEG, GIF o PNG. Chiamate il metodo load()
per caricare la risorsa come elemento secondario dell'istanza Loader. Quindi potete aggiungere l'oggetto Loader all'elenco di visualizzazione (ad esempio utilizzando il metodo addChild()
di un'istanza DisplayObjectContainer). La risorsa appare sullo stage mentre viene caricata.
Potete anche utilizzare un'istanza Loader "fuori elenco", ovvero senza aggiungerla a un contenitore di oggetto di visualizzazione incluso nell'elenco di visualizzazione. In questa modalità, l'istanza Loader potrebbe essere utilizzata per caricare un file SWF che contiene moduli aggiuntivi di un'applicazione.
Per rilevare la fine del caricamento del file SWF, potete utilizzare gli eventi dell'oggetto LoaderInfo associato alla proprietà contentLoaderInfo
dell'oggetto Loader. A quel punto potete eseguire il codice del file SWF del modulo per inizializzare e avviare il modulo. Nella modalità "fuori elenco", un'istanza Loader potrebbe essere utilizzata anche per caricare un file SWF che contiene componenti o risorse multimediali. Anche in questo caso potete utilizzare le notifiche di evento dell'oggetto LoaderInfo per rilevare la fine del caricamento dei componenti. A quel punto l'applicazione può iniziare a utilizzare i componenti e le risorse multimediali della libreria del file SWF creando istanze delle classi ActionScript 3.0 che rappresentano tali componenti e risorse.
Per determinare lo stato di un oggetto Loader, monitorate gli eventi seguenti che l'oggetto LoaderInfo ha associato alla proprietà contentLoaderInfo
dell'oggetto Loader:
- L'evento
open
viene inviato quando inizia il caricamento. - L'evento
ioError
osecurityError
viene inviato se il file non può essere caricato o se si verifica un errore durante il caricamento. - L'evento
progress
viene inviato continuamente durante il caricamento del file. - L'evento
complete
viene inviato al termine dello scaricamento di un file, ma prima che siano disponibili i metodi e le proprietà del clip filmato caricato. - L'evento
init
viene inviato dopo che le proprietà e i metodi del file SWF caricato diventano accessibili, in modo da consentire la modifica del file SWF caricato. Questo evento viene inviato prima del gestorecomplete
. Nei file SWF di streaming, l'eventoinit
può essere inviato con largo anticipo rispetto all'eventocomplete
. Nella maggior parte delle situazioni, utilizzate il gestoreinit
.
Note (solo iOS): nelle applicazioni AIR in iOS, potete caricare soltanto un file SWF contenente ActionScript dal pacchetto applicazione. La restrizione include qualsiasi ActionScript, come ad esempio le risorse con i nomi delle classi esportate per ActionScript. Per caricare un file SWF, dovete utilizzare lo stesso dominio applicazione dell’SWF principale.
Nelle versioni di AIR precedenti alla 3.6, solo i file SWF che non contengono un codice byte ActionScript possono essere caricati, indipendentemente dal fatto che vengano caricati dal pacchetto applicazione o da una rete. In alternativa all’utilizzo di un file SWF esterno con ActionScript, potete creare una libreria SWC e collegarla al vostro SWF principale.
Queste restrizioni non si applicano quando un’applicazione è in esecuzione nel simulatore iOS (ipa-test-interpreter-simulator o ipa-debug-interpreter-simulator) o in modalità interprete (ipa-test-interpreter or ipa-debug-interpreter.)
Elementi API correlati
close | () | metodo |
public function close():void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Annulla un'operazione del metodo load()
attualmente in corso per l'istanza Loader.
Elementi API correlati
load | () | metodo |
public function load(request:URLRequest, context:LoaderContext = null):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Carica un file SWF, JPEG, JPEG progressivo, GIF non animato o PNG in un oggetto che è un elemento secondario dell'oggetto Loader. Se caricate un file GIF animato, viene visualizzato solo il primo fotogramma. Poiché l'oggetto Loader può contenere un unico elemento secondario, una successiva richiesta load()
interrompe la richiesta precedente, se è ancora in corso, e avvia un nuovo caricamento.
Nota: in AIR 1.5 e Flash Player 10, la dimensione massima di un'immagine caricata è di 8.191 pixel in larghezza o altezza, mentre il numero totale di pixel non può essere superiore a 16.777.215. (Quindi, se un'immagine caricata ha una larghezza di 8.191 pixel, può avere solo una lunghezza di 2.048 pixel.) In Flash Player 9 e versioni precedenti e in AIR 1.1 e versioni precedenti, la limitazione è di 2.880 pixel in altezza e 2.880 pixel in larghezza.
Un file SWF o un'immagine caricata in un oggetto Loader filmato eredita le proprietà di posizione, rotazione e scala degli oggetti di visualizzazione principali dell'oggetto Loader.
Utilizzate il metodo unload()
per rimuovere i filmati o le immagini caricate con questo metodo o per annullare un'operazione di caricamento in corso.
Potete impedire che un file SWF utilizzi questo metodo impostando il parametro allowNetworking
dei tag object
ed embed
nella pagina HTML che include il contenuto SWF.
Note iOS
Nelle applicazioni AIR in iOS, potete caricare soltanto un file SWF contenente ActionScript dal pacchetto applicazione. La restrizione include qualsiasi ActionScript, come ad esempio le risorse con i nomi delle classi esportate per ActionScript. Per caricare un file SWF, dovete utilizzare lo stesso dominio di applicazione dell’SWF principale, come illustrato nel seguente esempio:
var loader:Loader = new Loader(); var url:URLRequest = new URLRequest("swfs/SecondarySwf.swf"); var loaderContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain, null); loader.load(url, loaderContext);
Inoltre, in iOS non potete caricare un file SWF contenente tutto il ByteCode ActionScript (ABC), quindi scaricarlo e ricaricarlo. Se tentate di eseguire questa operazione, il runtime genera l’errore 3764.
Nelle versioni di AIR precedenti alla 3.6, solo i file SWF che non contengono un codice byte ActionScript possono essere caricati, indipendentemente dal fatto che vengano caricati dal pacchetto applicazione o da una rete. In alternativa all’utilizzo di un file SWF esterno con ActionScript, potete creare una libreria SWC e collegarla al vostro SWF principale.
Queste restrizioni non si applicano quando un’applicazione è in esecuzione nel simulatore iOS (ipa-test-interpreter-simulator o ipa-debug-interpreter-simulator) o in modalità interprete (ipa-test-interpreter or ipa-debug-interpreter.)
Sicurezza del Loader
Quando utilizzate questo metodo, considerate il modello di sicurezza di Flash Player illustrato nella descrizione della classe Loader.
In Flash Player 10 e versioni successive, se utilizzate un Content-Type multipart (ad esempio "multipart/form-data") che contiene un caricamento (indicato da un parametro "filename" in un'intestazione "content-disposition" nel corpo POST), l'operazione POST è soggetta alle regole di sicurezza applicate ai caricamenti:
- L'operazione POST deve essere eseguita come risposta a un'azione compiuta dall'utente, come un clic del mouse o la pressione di un tasto.
- Se l'operazione POST è tra più domini (il target POST non si trova sullo stesso server del file SWF che invia la richiesta POST), il server di destinazione deve fornire un file di criteri URL che consenta l'accesso tra più domini.
Inoltre, per qualsiasi Content-Type in più parti, la sintassi deve essere valida (in conformità allo standard RFC2046). Se la sintassi non è valida, l'operazione POST è soggetta alle regole di sicurezza applicate ai caricamenti.
Per ulteriori informazioni sulla sicurezza, vedete l'argomento sulla sicurezza nel Centro per sviluppatori di Flash Player .
Parametri
request:URLRequest — L'URL assoluto o relativo del file SWF, JPEG, GIF o PNG da caricare. Un percorso relativo deve essere relativo al file SWF principale. Gli URL assoluti devono includere il riferimento al protocollo, ad esempio http:// o file://. I nomi file non devono contenere specifiche relative all'unità disco.
| |
context:LoaderContext (default = null ) — Un oggetto LoaderContext le cui proprietà definiscono:
Se il parametro Solo iOS: durante la chiamata al metodo Per informazioni dettagliate, vedete la descrizione delle proprietà del metodo LoaderContext. |
Eventi
asyncError: — Inviato dall'oggetto contentLoaderInfo se è stata specificata la proprietà LoaderContext.requestedContentParent e non è possibile aggiungere il contenuto caricato come elemento secondario del DisplayObjectContainer specificato. Questa condizione può verificarsi se il contenuto caricato è un flash.display.AVM1Movie o se la chiamata addChild() a requestedContentParent genera un errore.
| |
complete: — Inviato dall'oggetto contentLoaderInfo al termine del caricamento del file. L'evento complete viene sempre inviato dopo l'evento init .
| |
httpStatus: — Inviato dall'oggetto contentLoaderInfo quando viene eseguita una richiesta di rete via HTTP e Flash Player è in grado di rilevare il codice di stato HTTP.
| |
init: — Inviato dall'oggetto contentLoaderInfo quando le proprietà e i metodi del file SWF caricato sono accessibili. L'evento init viene sempre inviato prima dell'evento complete .
| |
ioError: — Inviato dall'oggetto contentLoaderInfo quando si verifica un errore di input o di output che determina l'esito negativo dell'operazione di caricamento.
| |
open: — Inviato dall'oggetto contentLoaderInfo all'inizio del caricamento.
| |
progress: — Inviato dall'oggetto contentLoaderInfo mentre vengono ricevuti i dati durante l'operazione di caricamento.
| |
securityError: — Inviato dall'oggetto contentLoaderInfo se un file SWF nella sandbox locale con file system tenta di caricare contenuto nella sandbox locale con rete, o viceversa.
| |
securityError: — Inviato dall'oggetto contentLoaderInfo se è stata specificata la proprietà LoaderContext.requestedContentParent e la sandbox di sicurezza di LoaderContext.requestedContentParent non ha accesso al file SWF caricato.
| |
unload: — Inviato dall'oggetto contentLoaderInfo quando un oggetto caricato viene rimosso.
|
Genera
IOError — La proprietà digest dell'oggetto request non è null . È necessario impostare solo la proprietà digest quando si chiama il metodo URLLoader.load() durante il caricamento di un file SWZ (un componente della piattaforma Adobe).
| |
SecurityError — Il valore di LoaderContext.securityDomain deve essere null o SecurityDomain.currentDomain . Ciò dipende dal fatto che è possibile collocare il contenuto multimediale caricato solo nella sua sandbox di sicurezza naturale o nella propria sandbox di sicurezza personalizzata (in questo caso è necessario un file di criteri).
| |
SecurityError — I file SWF locali non possono impostare LoaderContext.securityDomain su un valore diverso da null . Non è consentito importare contenuti multimediali non locali in una sandbox locale o collocare altri contenuti multimediali locali in una sandbox diversa da quella naturale.
| |
SecurityError — Non potete collegarvi alle porte comunemente riservate. Per un elenco completo di porte bloccate, vedete "Limitazioni delle API di connettività di rete" nella Guida per gli sviluppatori di ActionScript 3.0.
| |
SecurityError — Se la proprietà applicationDomain o securityDomain del parametro context proviene da un dominio non consentito.
| |
SecurityError — Se un file SWF locale sta tentando di utilizzare la proprietà securityDomain del parametro context .
| |
IllegalOperationError — Se la proprietà requestedContentParent del parametro context è un Loader .
| |
IllegalOperationError — Se il parametro LoaderContext.parameters è impostato su un valore non null e include valori diversi da Strings.
| |
IllegalOperationError — In iOS, se l’applicazione tenta di caricare un file SWF in un dominio di applicazione diverso da quello principale.
| |
IllegalOperationError — In iOS, se l’applicazione tenta di ricaricare un SWF caricato e scaricato e contenente il codice ABC.
| |
Error — In iOS, se l’applicazione tenta di caricare un file SWF dall’esterno del pacchetto dell’applicazione che contiene il codice ActionScript. Questo errore non può essere rilevato. Viene visualizzato all’interno di una finestra di dialogo nella schermata dell’applicazione con il titolo "Uncompiled ActionScript" (ActionScript non compilato). Nelle versioni di AIR precedenti alla 3.6, questo errore si verifica quando si tenta di caricare un file SWF contenente ActionScript, indipendentemente dal fatto che sia esterno o incluso nel pacchetto applicazione.
|
Altri esempi
Altre informazioni
Elementi API correlati
loadBytes | () | metodo |
public function loadBytes(bytes:ByteArray, context:LoaderContext = null):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Carica dai dati binari memorizzati nell'oggetto ByteArray.
Il metodo loadBytes()
è asincrono. Dovete attendere l'evento "init" prima di accedere alle proprietà dell'oggetto caricato.
Quando utilizzate questo metodo, considerate il modello di sicurezza di Flash Player illustrato nella descrizione della classe Loader.
Nota (solo iOS): nelle applicazioni AIR in iOS, potete caricare soltanto un file SWF contenente ActionScript dal pacchetto applicazione. La restrizione include qualsiasi ActionScript, come ad esempio le risorse con i nomi delle classi esportate per ActionScript. Per caricare un file SWF, dovete utilizzare lo stesso dominio applicazione dell’SWF principale.
Nelle versioni di AIR precedenti alla 3.6, la chiamata a questo metodo non produce alcun effetto in iOS.
Parametri
bytes:ByteArray — Un oggetto ByteArray. Il contenuto dell'oggetto ByteArray può essere in uno qualunque dei formati di file supportati dalla classe Loader: SWF, GIF, JPEG o PNG.
| |
context:LoaderContext (default = null ) — Un oggetto LoaderContext. Solo la proprietà applicationDomain dell'oggetto LoaderContext è applicabile, mentre le proprietà checkPolicyFile e securityDomain non lo sono.
Se il parametro Per ulteriori informazioni sulla sicurezza, vedete l'argomento sulla sicurezza nel Centro per sviluppatori di Flash Player . |
Eventi
asyncError: — Inviato dall'oggetto contentLoaderInfo se è stata specificata la proprietà LoaderContext.requestedContentParent e non è possibile aggiungere il contenuto caricato come elemento secondario del DisplayObjectContainer specificato. Questa condizione può verificarsi se il contenuto caricato è un flash.display.AVM1Movie o se la chiamata addChild() a requestedContentParent genera un errore.
| |
complete: — Inviato dall'oggetto contentLoaderInfo quando l'operazione è completa. L'evento complete viene sempre inviato dopo l'evento init .
| |
init: — Inviato dall'oggetto contentLoaderInfo quando le proprietà e i metodi dei dati caricati sono accessibili. L'evento init viene sempre inviato prima dell'evento complete .
| |
ioError: — Inviato dall'oggetto contentLoaderInfo quando il runtime non è in grado di analizzare i dati nell'array di byte.
| |
open: — Inviato dall'oggetto contentLoaderInfo all'inizio dell'operazione.
| |
progress: — Inviato dall'oggetto contentLoaderInfo mentre i dati vengono trasferiti in memoria.
| |
securityError: — Inviato dall'oggetto contentLoaderInfo se è stata specificata la proprietà LoaderContext.requestedContentParent e la sandbox di sicurezza di LoaderContext.requestedContentParent non ha accesso al file SWF caricato.
| |
unload: — Inviato dall'oggetto contentLoaderInfo quando un oggetto caricato viene rimosso.
|
Genera
ArgumentError — Se la proprietà length dell'oggetto ByteArray non è maggiore di 0.
| |
IllegalOperationError — Se la proprietà checkPolicyFile o securityDomain del parametro context è diversa da null.
| |
IllegalOperationError — Se la proprietà requestedContentParent del parametro context è un Loader .
| |
IllegalOperationError — Se il parametro LoaderContext.parameters è impostato su un valore non null e include valori diversi da Strings.
| |
IllegalOperationError — In iOS, se l’applicazione tenta di caricare un file SWF in un dominio di applicazione diverso da quello principale.
| |
IllegalOperationError — In iOS, se l’applicazione tenta di ricaricare un SWF che è stato caricato e scaricato e contenente un codice ABC.
| |
Error — In iOS, se l’applicazione tenta di caricare un file SWF dall’esterno del pacchetto dell’applicazione che contiene il codice ActionScript. Questo errore non può essere rilevato. Viene visualizzato all’interno di una finestra di dialogo nella schermata dell’applicazione con il messaggio "Uncompiled ActionScript" (ActionScript non compilato). Nelle versioni di AIR precedenti alla 3.6, questo errore si verifica quando si tenta di caricare un file SWF contenente ActionScript, indipendentemente dal fatto che sia esterno o incluso nel pacchetto applicazione.
| |
SecurityError — Se la proprietà applicationDomain del parametro context proviene da un dominio non consentito.
| |
SecurityError — Non potete collegarvi alle porte comunemente riservate. Per un elenco completo di porte bloccate, vedete "Limitazioni delle API di connettività di rete" nella Guida per gli sviluppatori di ActionScript 3.0.
|
Altre informazioni
Elementi API correlati
loadFilePromise | () | metodo |
public function loadFilePromise(promise:IFilePromise, context:LoaderContext = null):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2.5 |
Carica un'istanza IFilePromise.
Il metodo loadFilePromise
accetta un oggetto IFilePromise
e carica i dati binari. Se i dati sono in un flusso progressivo, ad esempio un video, attendete gli eventi "init" o progress prima di accedere alle proprietà dell'oggetto caricato. Altrimenti, attendete l'evento complete per essere sicuri che i dati siano stati interamente caricati.
Quando utilizzate questo metodo, considerate il modello di sicurezza di Flash Player illustrato nella descrizione della classe Loader.
Parametri
promise:IFilePromise — Un oggetto IFilePromise. L'origine dati dell'oggetto può essere in uno qualunque dei formati di file supportati dalla classe Loader: SWF, GIF, JPEG o PNG.
| |
context:LoaderContext (default = null ) — Un oggetto LoaderContext. Solo la proprietà applicationDomain dell'oggetto LoaderContext è applicabile, mentre le proprietà checkPolicyFile e securityDomain non lo sono.
Se il parametro Per ulteriori informazioni sulla sicurezza, vedete l'argomento sulla sicurezza nel Centro per sviluppatori di Flash Player . |
Eventi
asyncError: — Inviato dall'oggetto contentLoaderInfo se è stata specificata la proprietà LoaderContext.requestedContentParent e non è possibile aggiungere il contenuto caricato come elemento secondario del DisplayObjectContainer specificato. Questa condizione può verificarsi se il contenuto caricato è un flash.display.AVM1Movie o se la chiamata addChild() a requestedContentParent genera un errore.
| |
complete: — Inviato dall'oggetto contentLoaderInfo quando l'operazione è completa. L'evento complete viene sempre inviato dopo l'evento init .
| |
init: — Inviato dall'oggetto contentLoaderInfo quando le proprietà e i metodi dei dati caricati sono accessibili. L'evento init viene sempre inviato prima dell'evento complete .
| |
ioError: — Inviato dall'oggetto contentLoaderInfo quando il runtime non è in grado di analizzare i dati nell'origine dati oppure se il flusso dell'origine dati non è leggibile.
| |
open: — Inviato dall'oggetto contentLoaderInfo all'inizio dell'operazione.
| |
progress: — Inviato dall'oggetto contentLoaderInfo mentre i dati vengono trasferiti in memoria.
| |
securityError: — Inviato dall'oggetto contentLoaderInfo se è stata specificata la proprietà LoaderContext.requestedContentParent e la sandbox di sicurezza di LoaderContext.requestedContentParent non ha accesso al file SWF caricato.
| |
unload: — Inviato dall'oggetto contentLoaderInfo quando un oggetto caricato viene rimosso.
|
Genera
IllegalOperationError — Se la proprietà requestedContentParent del parametro context è un Loader .
| |
IllegalOperationError — Se il parametro LoaderContext.parameters è impostato su un valore non null e include valori diversi da Strings.
| |
ArgumentError — Se l'oggetto IFilePromise passato come parametro è null.
|
Elementi API correlati
unload | () | metodo |
public function unload():void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Rimuove un elemento secondario di questo oggetto Loader caricato mediante il metodo load()
. La proprietà
dell'oggetto LoaderInfo associato viene reimpostata su null
. L'elemento secondario non viene necessariamente eliminato perché altri oggetti potrebbero farvi riferimento, tuttavia cessa di essere un elemento secondario dell'oggetto Loader.
Durante la chiamata al metodo unload()
, la proprietà contentLoaderInfo
dell’oggetto del Loader è impostata su null
. Tutte le risorse visive che sono state caricate con l’SWF vengono scaricate e rimosse dalla memoria. Le definizioni di classe di ActionScript nell’SWF caricato rimangono nella memoria e il codice che si trova nello stesso dominio applicazione del file SWF caricato può accedere alle istanze di tali classi e crearne di nuove.
Nota (solo iOS): per le versioni di AIR precedenti alla 3.6, questo metodo non ha effetto in iOS.
È buona norma, prima di scaricare un file SWF secondario, chiudere esplicitamente i flussi degli oggetti del file, ad esempio gli oggetti LocalConnection, NetConnection, NetStream e Sound. In caso contrario, la riproduzione dell'audio del file SWF secondario potrebbe continuare anche se il file è stato scaricato. Per chiudere i flussi del file, aggiungete un listener di eventi all'elemento secondario che rileva l'evento unload
. Quando l'oggetto principale chiama Loader.unload()
, l'evento unload
viene inviato all'elemento secondario. Il codice di esempio seguente produce il risultato descritto:
function closeAllStreams(evt:Event) { myNetStream.close(); mySound.close(); myNetConnection.close(); myLocalConnection.close(); } myMovieClip.loaderInfo.addEventListener(Event.UNLOAD, closeAllStreams);
Elementi API correlati
unloadAndStop | () | metodo |
public function unloadAndStop(gc:Boolean = true):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Tenta di scaricare il contenuto del file SWF secondario e interrompe l'esecuzione dei comandi dai file SWF caricati. Questo metodo tenta di scaricare file SWF caricati utilizzando Loader.load()
o Loader.loadBytes()
mediante la rimozione dei riferimenti agli oggetti EventDispatcher, NetConnection, Timer, Sound o Video del file SWF secondario. Di conseguenza, per il file SWF secondario e il relativo elenco di visualizzazione si verifica quanto segue:
- I suoni vengono interrotti.
- I listener di eventi dello stage vengono rimossi.
- I listener di eventi per
enterFrame
,frameConstructed
,exitFrame
,activate
edeactivate
vengono rimossi. - I timer vengono interrotti.
- Le istanze Camera e Microphone vengono scollegate.
- I clip filmato vengono interrotti.
Durante la chiamata al metodo unloadAndStop()
, la proprietà contentLoaderInfo
dell’oggetto del Loader è impostata su null
. Tutte le risorse visive che sono state caricate con l’SWF vengono scaricate e rimosse dalla memoria. Le definizioni di classe di ActionScript nell’SWF caricato rimangono nella memoria e il codice che si trova nello stesso dominio applicazione del file SWF caricato può accedere alle istanze di tali classi e crearne di nuove.
Nota (solo iOS): per le versioni di AIR precedenti alla 3.6, questo metodo non ha effetto in iOS.
Parametri
gc:Boolean (default = true ) — Suggerisce al garbage collector di eseguire gli oggetti secondari SWF (true ) o non (false ). Se state scaricando molti oggetti in modalità asincrona, l'impostazione del parametro gc su false potrebbe migliorare le prestazioni dell'applicazione. Se tuttavia il parametro è impostato su false , gli oggetti multimediali e di visualizzazione del file SWF secondario potrebbero persistere in memoria dopo l'esecuzione del comando unloadAndStop() .
|
Elementi API correlati
- Viene creata una proprietà
url
, che corrisponde alla posizione e al nome del file di immagine. - Nella funzione di costruzione
LoaderExample
viene creato un nuovo oggetto Loader di nomeloader
, che viene successivamente passato al metodoconfigureListeners()
, descritto al punto 3. - La funzione di costruzione crea una nuova istanza di un oggetto URLRequest,
request
, passandourl
in modo che il nome e la posizione del file siano noti. - L'oggetto
request
viene quindi passato al metodoload()
dell'oggettoloader
, che carica l'immagine nell'elenco di visualizzazione. - Un listener di eventi
clickHandler
viene registrato per l'eventoclick
del loader. In seguito a un clic del mouse, l'immagine caricata viene scaricata. - Il metodo
configureListeners()
aggiunge sette listener di eventi utilizzando i metodi seguenti:- Il metodo
completeHandler()
viene eseguito al termine del caricamento dell'immagine. - Il metodo
httpStatusHandler()
viene eseguito se l'immagine non viene caricata a livello locale e solo se la richiesta di rete viene resa disponibile e Flash Player è in grado di rilevarla. - Il metodo
initHandler()
viene eseguito prima del metodocompleteHandler()
e dopo il metodoprogressHandler()
. In genere, l'eventoinit
risulta più utile quando si caricano dei file SWF. - Il metodo
ioErrorHandler()
viene eseguito se il file di immagine non è disponibile o accessibile. - Il metodo
openHandler()
viene eseguito alla prima apertura del file di immagine. - Il metodo
progressHandler()
viene eseguito quando inizia il caricamento del file di immagine e successivamente quando il caricamento è terminato. - Il metodo
unLoadHandler()
viene eseguito quando l'immagine viene scaricata utilizzando il metodounload()
quando l'utente fa clic sull'immagine.
- Il metodo
Tenete presente quanto segue:
- Questo esempio richiede che un file di nome Image.gif venga aggiunto alla stessa directory del file SWF compilato. Utilizzate un'immagine con un'area che non ecceda le dimensioni del file SWF principale.
- Anche se questo esempio utilizza tutti gli eventi disponibili per l'oggetto LoaderInfo, nella maggior parte delle situazioni è richiesto solo un sottoinsieme. In particolare, quando caricate solo un file di immagine, l'evento
complete
(ed eventualmente l'erroreioError
) è sufficiente quando si carica un'immagine locale.
package { import flash.display.Loader; import flash.display.Sprite; import flash.events.*; import flash.net.URLRequest; public class LoaderExample extends Sprite { private var url:String = "Image.gif"; public function LoaderExample() { var loader:Loader = new Loader(); configureListeners(loader.contentLoaderInfo); loader.addEventListener(MouseEvent.CLICK, clickHandler); var request:URLRequest = new URLRequest(url); loader.load(request); addChild(loader); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(Event.INIT, initHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(Event.UNLOAD, unLoadHandler); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function httpStatusHandler(event:HTTPStatusEvent):void { trace("httpStatusHandler: " + event); } private function initHandler(event:Event):void { trace("initHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } private function progressHandler(event:ProgressEvent):void { trace("progressHandler: bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal); } private function unLoadHandler(event:Event):void { trace("unLoadHandler: " + event); } private function clickHandler(event:MouseEvent):void { trace("clickHandler: " + event); var loader:Loader = Loader(event.target); loader.unload(); } } }
Tue Jun 12 2018, 02:44 PM Z