Paquete | flash.display |
Clase | public class Loader |
Herencia | Loader DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
Subclases | AVLoader, FlexLoader |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
load()
para iniciar la carga. El objeto de visualización cargado se añade como elemento secundario del objeto Loader.
Utilice la clase URLLoader para cargar texto o datos binarios.
La clase Loader anula los siguientes métodos heredados, ya que un objeto Loader sólo puede tener un objeto de visualización secundario: el objeto de visualización que carga. La llamada a los siguientes métodos emite una excepción: addChild()
, addChildAt()
, removeChild()
, removeChildAt()
y setChildIndex()
. Para quitar un objeto de visualización cargado, debe quitar el objeto Loader del conjunto de elementos secundarios de su DisplayObjectContainer principal.
Notas sobre iOS
En aplicaciones de AIR en iOS, solo se puede cargar desde el paquete de la aplicación un archivo SWF con ActionScript. Esta restricción incluye cualquier ActionScript, incluidos los activos con nombres de clase exportados para ActionScript. Para cargar un archivo SWF debe usar el mismo dominio de aplicación que el del archivo SWF principal correspondiente, como se muestra en este ejemplo:
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);
Además, en iOS no puede cargar un archivo SWF que contenga código de bytes ActionScript (ABC), descargarlo y volver a cargarlo. Si intenta hacerlo, el motor de ejecución emite el error 3764.
En versiones anteriores a AIR 3.6 solo se pueden cargar archivos SWF que no contengan código de bytes ActionScript, tanto si se cargan desde el paquete de la aplicación como a través de una red. En lugar de usar un archivo SWF externo con ActionScript, puede crear una biblioteca de SWC y vincularla al SWF principal.
AIR 3.7 y posterior admite la carga de archivos SWF secundarios alojados externamente. La descripción detallada acerca de esta característica se encuentra aquí.
Estas restricciones de iOS no ocurren cuando una aplicación se ejecuta en el simulador de iOS (ipa-test-interpreter-simulator o ipa-debug-interpreter-simulator) o en modo de intérprete (ipa-test-interpreter o ipa-debug-interpreter.)
Seguridad de Loader
Cuando utilice la clase Loader, tenga en cuenta el modelo de seguridad de Flash Player y de Adobe AIR:
- Puede cargar contenido de cualquier origen accesible.
- No se admite la carga si el archivo SWF que realiza la llamada se encuentra en el entorno limitado de red y el archivo que debe cargarse está en un sistema local.
- Si el contenido cargado es un archivo SWF escrito con ActionScript 3.0, un archivo SWF de otro entorno limitado de seguridad no podrá usar sus scripts, a no ser que dicho uso de scripts haya sido aprobado a través de una llamada a
System.allowDomain()
o al métodoSystem.allowInsecureDomain()
del archivo del contenido cargado. - Si el contenido cargado es un archivo SWF AVM1 (escrito con ActionScript 1.0 o 2.0), un archivo SWF AVM2 (escrito con ActionScript 3.0) no podrá usar sus scripts. Sin embargo, la comunicación entre los dos archivos SWF es posible mediante la clase LocalConnection.
- Si el contenido cargado es una imagen, un archivo SWF situado fuera del entorno limitado de seguridad no podrá obtener acceso a sus datos, a no ser que el dominio de dicho archivo SWF se haya incluido en un archivo de política de URL en el dominio de origen de la imagen.
- Es posible que los clips de película del entorno limitado local con el sistema de archivos no puedan crear scripts de clips de película en el entorno limitado local con acceso a la red y viceversa.
- No es posible conectar con puertos reservados comúnmente. Para obtener una lista completa de los puertos bloqueados, consulte la sección “Restricción de API de red” en el Guía del desarrollador de ActionScript 3.0.
Sin embargo, en AIR, el contenido del entorno limitado de seguridad de la aplicación
(contenido instalado con la aplicación de AIR) no está limitado por estas restricciones de seguridad.
Para obtener más información, consulte el tema del Centro de desarrollo de Flash Player Seguridad.
Al cargar un archivo SWF de un origen que no es de confianza (por ejemplo, un dominio distinto al del archivo SWF raíz del objeto Loader), es aconsejable definir una máscara para el objeto Loader a fin de evitar que el contenido cargado (que es un elemento secundario del objeto Loader) se dibuje en partes del escenario situadas fuera de la máscara, como se muestra en el siguiente código:
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: en iOS9 Apple está introduciendo App Transport Security, que no permite conexiones inseguras entre los servicios de aplicaciones y los servicios web. Debido a esta modificación causada por App Transport Security todas las conexiones realizadas con sitios web inseguros por medio de Loader, URLLoader dejarán de funcionar. Para especificar las excepciones del comportamiento predeterminado, agregue claves a Info.plist en su aplicación.
Para desactivar la función por completo, puede agregar lo siguiente a su Info.plist y esta volverá a funcionar como antes.
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key><true/> </dict>
Para especificar las excepciones del comportamiento predeterminado, agregue claves a la etiqueta InfoAdditions del descriptor de la aplicación.
<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>
Elementos de API relacionados
Propiedad | Definido por | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
La implementación actual de accesibilidad (AccessibilityImplementation) para esta instancia de InteractiveObject. | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
Las opciones de accesibilidad actuales para este objeto de visualización. | DisplayObject | ||
alpha : Number
Indica el valor de transparencia alfa del objeto especificado. | DisplayObject | ||
blendMode : String
Un valor de la clase BlendMode que especifica el modo de mezcla que debe utilizarse. | DisplayObject | ||
blendShader : Shader [solo escritura]
Define un sombreado para utilizarlo en la mezcla del primer plano y del fondo. | DisplayObject | ||
cacheAsBitmap : Boolean
Si se define como true, los motores de ejecución de Flash dejan en caché una representación interna de mapa de bits del objeto de visualización. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
Si su valor no es null, este objeto Matrix define cómo un objeto de visualización se procesa cuando cacheAsBitmap se define como true. | DisplayObject | ||
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
content : DisplayObject [solo lectura]
Contiene el objeto de visualización raíz del archivo SWF o el archivo de imagen (JPG, PNG o GIF) que se cargó empleando los métodos load() o loadBytes(). | Loader | ||
contentLoaderInfo : LoaderInfo [solo lectura]
Devuelve un objeto LoaderInfo que corresponde al objeto que se está cargando. | Loader | ||
contextMenu : NativeMenu
Especifica el menú contextual asociado a este objeto. | InteractiveObject | ||
doubleClickEnabled : Boolean
Especifica si este objeto recibe eventos doubleClick. | InteractiveObject | ||
filters : Array
Conjunto indexado que contiene todos los objetos de filtro actualmente asociados con el objeto de visualización. | DisplayObject | ||
focusRect : Object
Especifica si este objeto muestra un rectángulo de selección. | InteractiveObject | ||
height : Number
Indica la altura del objeto de visualización, expresada en píxeles. | DisplayObject | ||
loaderInfo : LoaderInfo [solo lectura]
Devuelve un objeto LoaderInfo que contiene información sobre la carga del archivo al que pertenece este objeto de visualización. | DisplayObject | ||
mask : DisplayObject
El objeto de visualización que origina la llamada se enmascara mediante el objeto mask especificado. | DisplayObject | ||
metaData : Object
Obtiene el objeto de metadatos de la instancia de DisplayObject si los metadatos se almacenaron con la instancia de este objeto DisplayObject en el archivo SWF a través de una etiqueta PlaceObject4. | DisplayObject | ||
mouseChildren : Boolean
Determina si los elementos secundarios del objeto están activados para acciones de ratón o de dispositivo de entrada de usuario. | DisplayObjectContainer | ||
mouseEnabled : Boolean
Especifica si este objeto recibe la entrada del ratón, la entrada del usuario o mensajes. | InteractiveObject | ||
mouseX : Number [solo lectura]
Indica la coordenada x de la posición del ratón o del dispositivo de entrada del usuario, en píxeles. | DisplayObject | ||
mouseY : Number [solo lectura]
Indica la coordenada y de la posición del ratón o del dispositivo de entrada del usuario, en píxeles. | DisplayObject | ||
name : String
Indica el nombre de instancia de DisplayObject. | DisplayObject | ||
needsSoftKeyboard : Boolean
Especifica si un teclado virtual (teclado en pantalla) se debe mostrar cuando esta instancia de InteractiveObject recibe la selección. | InteractiveObject | ||
numChildren : int [solo lectura]
Devuelve el número de elementos secundarios de este objeto. | DisplayObjectContainer | ||
opaqueBackground : Object
Especifica si el objeto de visualización es opaco con un determinado color de fondo. | DisplayObject | ||
parent : DisplayObjectContainer [solo lectura]
Indica el objeto DisplayObjectContainer que contiene este objeto de visualización. | DisplayObject | ||
root : DisplayObject [solo lectura]
Para un objeto de visualización en un archivo SWF cargado, la propiedad root es el objeto de visualización de nivel más alto en la parte de la estructura de árbol de la lista de visualización representada por dicho archivo SWF. | DisplayObject | ||
rotation : Number
Indica el giro de la instancia de DisplayObject, expresado en grados, con respecto a su orientación original. | DisplayObject | ||
rotationX : Number
Indica la rotación del eje x de la instancia de DisplayObject, en grados, desde su orientación original relativa al contenedor principal 3D. | DisplayObject | ||
rotationY : Number
Indica la rotación del eje y de la instancia de DisplayObject, en grados, desde su orientación original relativa al contenedor principal 3D. | DisplayObject | ||
rotationZ : Number
Indica la rotación del eje z de la instancia de DisplayObject, en grados, desde su orientación original relativa al contenedor principal 3D. | DisplayObject | ||
scale9Grid : Rectangle
La cuadrícula de escala aplicada actualmente. | DisplayObject | ||
scaleX : Number
Indica la escala horizontal (percentage) del objeto aplicada desde el punto de registro. | DisplayObject | ||
scaleY : Number
Indica la escala vertical (percentage) de un objeto aplicada desde el punto de registro del objeto. | DisplayObject | ||
scaleZ : Number
Indica la escala de profundidad (porcentaje) de un objeto aplicada desde el punto de registro del objeto. | DisplayObject | ||
scrollRect : Rectangle
Los límites del rectángulo de desplazamiento del objeto de visualización. | DisplayObject | ||
softKeyboard : String
Controla la apariencia del teclado virtual. | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
Define el área que debe permanecer en pantalla cuando se muestra un teclado virtual (no disponible en iOS). | InteractiveObject | ||
stage : Stage [solo lectura]
El escenario del objeto de visualización. | DisplayObject | ||
tabChildren : Boolean
Determina si los elementos secundarios del objeto están habilitados para tabulación. | DisplayObjectContainer | ||
tabEnabled : Boolean
Especifica si este objeto está en el orden de tabulación. | InteractiveObject | ||
tabIndex : int
Especifica el orden de tabulación de los objetos de un archivo SWF. | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [solo lectura]
Devuelve un objeto TextSnapshot para esta instancia de DisplayObjectContainer. | DisplayObjectContainer | ||
transform : flash.geom:Transform
Objeto con propiedades pertenecientes a una matriz, transformación de color y límites de píxel de un objeto de visualización. | DisplayObject | ||
uncaughtErrorEvents : UncaughtErrorEvents [solo lectura]
Un objeto que distribuye un evento uncaughtError cuando se produce un error no gestionado en el archivo SWF cargado por este objeto Loader. | Loader | ||
visible : Boolean
Indica si el objeto de visualización es visible. | DisplayObject | ||
width : Number
Indica la anchura del objeto de visualización, expresada en píxeles. | DisplayObject | ||
x : Number
Indica la coordenada x de la instancia de DisplayObject en relación a las coordenadas locales del DisplayObjectContainer principal. | DisplayObject | ||
y : Number
Indica la coordenada y de la instancia de DisplayObject en relación a las coordenadas locales del DisplayObjectContainer principal. | DisplayObject | ||
z : Number
Indica la posición de la coordenada z en el eje z de la instancia de DisplayObject relativa al contenedor principal 3D. | DisplayObject |
Método | Definido por | ||
---|---|---|---|
Loader()
Crea un objeto Loader que puede utilizar para cargar archivos como, por ejemplo, archivos SWF, JPEG, GIF o PNG. | Loader | ||
Añade una instancia secundaria de DisplayObject a esta instancia de DisplayObjectContainer. | DisplayObjectContainer | ||
Añade una instancia secundaria de DisplayObject a esta instancia de DisplayObjectContainer. | DisplayObjectContainer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento. | EventDispatcher | ||
Indica si las restricciones de seguridad provocarían la omisión de objetos de visualización de la lista devuelta al llamar al método DisplayObjectContainer.getObjectsUnderPoint() con el punto point especificado. | DisplayObjectContainer | ||
Cancela una operación de método load() que está actualmente en curso para la instancia de Loader. | Loader | ||
Determina si el objeto de visualización especificado es un elemento secundario de la instancia de DisplayObjectContainer o la propia instancia. | DisplayObjectContainer | ||
Distribuye un evento en el flujo del evento. | EventDispatcher | ||
Devuelve un rectángulo que define el área del objeto de visualización relativo al sistema de coordenadas del objeto targetCoordinateSpace. | DisplayObject | ||
Devuelve la instancia del objeto de visualización secundario que sale del índice especificado. | DisplayObjectContainer | ||
Devuelve el objeto de visualización secundario que sale con el nombre especificado. | DisplayObjectContainer | ||
Devuelve la posición de índice de una instancia secundaria de DisplayObject. | DisplayObjectContainer | ||
Devuelve un conjunto de objetos que quedan bajo el punto especificado y son elementos secundarios (o terciarios, etc.) de esta instancia de DisplayObjectContainer. | DisplayObjectContainer | ||
Devuelve un rectángulo que define el límite del objeto de visualización, basado en el sistema de coordenadas definido por el parámetro targetCoordinateSpace, excluyendo los trazos en las formas. | DisplayObject | ||
Convierte el objeto point de las coordenadas del escenario (globales) en las coordenadas del objeto de visualización (locales). | DisplayObject | ||
Convierte un punto bidimensional de las coordenadas (globales) del escenario en coordenadas (locales) de un objeto tridimensional. | DisplayObject | ||
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento. | EventDispatcher | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Calcula el cuadro delimitador del objeto de visualización para ver si se solapa o corta con el cuadro delimitador del objeto de visualización obj. | DisplayObject | ||
Evalúa el objeto de visualización para comprobar si se solapa o presenta un punto de intersección con el punto especificado por los parámetros x e y. | DisplayObject | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Carga un archivo SWF, JPEG, JPEG progresivo, GIF sin animar o PNG en un objeto que es un elemento secundario de este objeto Loader. | Loader | ||
Se carga a partir de datos binarios almacenados en un objeto ByteArray. | Loader | ||
Carga una instancia de IFilePromise. | Loader | ||
Convierte un punto tridimensional de las coordenadas (locales) del objeto de visualización tridimensional en un punto bidimensional en las coordenadas (globales) del escenario. | DisplayObject | ||
Convierte el objeto point de coordenadas del objeto de visualización (locales) en coordenadas del escenario (globales). | DisplayObject | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Elimina la instancia child de DisplayObject especificada de la lista de elementos secundarios de la instancia de DisplayObjectContainer. | DisplayObjectContainer | ||
Elimina una instancia de DisplayObject secundaria de la posición de índice especificada en la lista de elementos secundarios de DisplayObjectContainer. | DisplayObjectContainer | ||
Elimina todas las instancias child de DisplayObject especificadas de la lista de elementos secundarios de la instancia de DisplayObjectContainer. | DisplayObjectContainer | ||
Elimina un detector del objeto EventDispatcher. | EventDispatcher | ||
Muestra un teclado virtual. | InteractiveObject | ||
Cambia la posición de un elemento secundario existente en el contendor de objeto de visualización. | DisplayObjectContainer | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Se detiene gradualmente la ejecución de línea de tiempo de todos los objetos MovieClip con raíz en este objeto. | DisplayObjectContainer | ||
Intercambia el orden z (de delante a atrás) de los dos objetos secundarios especificados. | DisplayObjectContainer | ||
Intercambia el orden z (de delante a atrás) de los objetos secundarios situados en las posiciones de índice especificadas en la lista de elementos secundarios. | DisplayObjectContainer | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
Devuelve la representación de cadena del objeto especificado. | Object | ||
Elimina un elemento secundario del objeto Loader que se cargó utilizando el método load(). | Loader | ||
Intenta anular la carga del contenido de archivos SWF secundarios y detiene la ejecución de los comandos de los archivos SWF cargados. | Loader | ||
Devuelve el valor simple del objeto especificado. | Object | ||
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto. | EventDispatcher |
content | propiedad |
content:DisplayObject
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Contiene el objeto de visualización raíz del archivo SWF o el archivo de imagen (JPG, PNG o GIF) que se cargó empleando los métodos load()
o loadBytes()
.
Implementación
public function get content():DisplayObject
Emite
SecurityError — El archivo SWF cargado o el archivo de imagen pertenece a un entorno limitado de seguridad al que no tiene acceso. En el caso de un archivo SWF cargado, puede evitar esta situación haciendo que el archivo llame al método Security.allowDomain() o que el archivo que se carga especifique un parámetro loaderContext con la propiedad securityDomain configurada como SecurityDomain.currentDomain al llamar al método load() o loadBytes() .
|
Elementos de API relacionados
contentLoaderInfo | propiedad |
contentLoaderInfo:LoaderInfo
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Devuelve un objeto LoaderInfo que corresponde al objeto que se está cargando. Los objetos LoaderInfo se comparten entre el objeto Loader y el objeto de contenido cargado. El objeto LoaderInfo proporciona información de progreso de carga y estadísticas sobre el archivo cargado.
Los eventos relacionados con la carga se distribuyen mediante el objeto LoaderInfo al que hace referencia la propiedad contentLoaderInfo
del objeto Loader. La propiedad contentLoaderInfo
se establece como un objeto LoaderInfo válido, antes incluso de que se cargue el contenido, de modo que se puedan añadir detectores de eventos al objeto antes de la carga.
Para detectar errores no capturados producidos en un archivo SWF cargado, utilice la propiedad Loader.uncaughtErrorEvents
no la propiedad Loader.contentLoaderInfo.uncaughtErrorEvents
.
Implementación
public function get contentLoaderInfo():LoaderInfo
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
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 | propiedad |
uncaughtErrorEvents:UncaughtErrorEvents
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10.1, AIR 2 |
Un objeto que distribuye un evento uncaughtError
cuando se produce un error no gestionado en el archivo SWF cargado por este objeto Loader. Un error sin capturar se produce cuando se emite un error fuera de los bloques try..catch
o cuando un objeto ErrorEvent se distribuye sin ningún detector registrado.
Observe que una propiedad uncaughtErrorEvents
del objeto Loader distribuye eventos que se propagan a través de él, no eventos que distribuyen directamente. Nunca distribuye un evento uncaughtErrorEvent
en la fase de destino. Sólo distribuye el evento en las fases de captura y propagación. Para detectar un error sin capturar en el SWF actual (el archivo SWF en el que el objeto Loader está definido), utilice la propiedad LoaderInfo.uncaughtErrorEvents
en su lugar.
Si el contenido cargado por el objeto Loader es un archivo SWF AVM1 (ActionScript 2), los errores no detectados en el archivo SWF AVM1 no producen un evento uncaughtError
.
Implementación
public function get uncaughtErrorEvents():UncaughtErrorEvents
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
uncaughtError
para detectar errores sin capturar.
En el constructor, el código crea un objeto Loader y registra un detector para el evento uncaughtError
distribuido por la propiedad uncaughtErrorEvents
del objeto Loader.
En el método uncaughtErrorHandler()
, el código comprueba el tipo de datos de la propiedad error
y responde en consecuencia.
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 | () | Información sobre |
public function Loader()
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Crea un objeto Loader que puede utilizar para cargar archivos como, por ejemplo, archivos SWF, JPEG, GIF o PNG. Llame al método load()
para cargar el activo como elemento secundario de la instancia de Loader. Posteriormente, puede añadir el objeto Loader a la lista de visualización (por ejemplo, empleando el método addChild()
de una instancia de DisplayObjectContainer). El activo aparece en el escenario conforme se va cargando.
También puede utilizar una instancia "offlist" de Loader, es decir, sin añadirla a un contenedor de objeto de visualización de la lista de visualización. En este modo, la instancia de Loader podría utilizarse para cargar un archivo SWF que contuviera módulos adicionales de una aplicación.
Para detectar cuándo termina de cargarse el archivo SWF, puede utilizar los eventos del objeto LoaderInfo asociado a la propiedad contentLoaderInfo
del objeto Loader. Al llegar a ese punto, puede ejecutarse el código del archivo SWF de módulo para inicializar e iniciar el módulo. En el modo offlist (fuera de la lista), una instancia de Loader podría utilizarse para cargar un archivo SWF que contuviera componentes o elementos multimedia adicionales. Una vez más, puede utilizar las notificaciones de eventos de objeto LoaderInfo para detectar cuándo terminan de cargarse los componentes. Al llegar a este punto, la aplicación puede comenzar a utilizar los componentes y elementos multimedia de la biblioteca del archivo SWF mediante la creación de instancias de las clases de ActionScript 3.0 que representan a dichos componentes y elementos.
Para determinar el estado de un objeto Loader, controle los siguientes eventos del objeto LoaderInfo asociado a la propiedad contentLoaderInfo
del objeto Loader:
- El evento
open
se distribuye cuando comienza la carga. - El evento
ioError
osecurityError
se distribuye si el archivo no se puede cargar o si se produce un error durante el proceso de carga. - El evento
progress
se activa continuamente mientras se está cargando el archivo. - El evento
complete
se distribuye cuando finaliza la descarga de un archivo, pero antes de que estén disponibles los métodos y propiedades del clip de película cargado. - El evento
init
se distribuye una vez que estén accesibles las propiedades y los métodos del archivo SWF cargado, de manera que pueda comenzar a manipular el archivo SWF cargado. Se distribuye este evento antes que el controladorcomplete
. Al transmitir mediante flujo archivos SWF, el eventoinit
puede tener lugar bastante antes que el eventocomplete
. En la mayoría de los casos, utilice el controladorinit
.
Notas (solo iOS): En aplicaciones de AIR en iOS, solo se puede cargar desde el paquete de la aplicación un archivo SWF con ActionScript. Esta restricción incluye cualquier ActionScript, incluidos los activos con nombres de clase exportados para ActionScript. Para cargar un archivo SWF debe usar el mismo dominio de aplicación que el del archivo SWF principal correspondiente.
En versiones anteriores a AIR 3.6 solo se pueden cargar archivos SWF que no contengan código de bytes ActionScript, tanto si se cargan desde el paquete de la aplicación como a través de una red. En lugar de usar un archivo SWF externo con ActionScript, puede crear una biblioteca de SWC y vincularla al SWF principal.
Estas restricciones no afectan a casos en que la aplicación se ejecuta en el simulador de iOS (ipa-test-interpreter-simulator o ipa-debug-interpreter-simulator) o en modo de intérprete (ipa-test-interpreter o ipa-debug-interpreter.)
Elementos de API relacionados
close | () | método |
public function close():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Cancela una operación de método load()
que está actualmente en curso para la instancia de Loader.
Elementos de API relacionados
load | () | método |
public function load(request:URLRequest, context:LoaderContext = null):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Carga un archivo SWF, JPEG, JPEG progresivo, GIF sin animar o PNG en un objeto que es un elemento secundario de este objeto Loader. Si carga un archivo GIF animado, sólo aparece el primer fotograma. Dado que el objeto Loader sólo puede contener un único elemento secundario, la emisión de una petición load()
posteriormente pone fin a la petición anterior, si ésta continúa pendiente, y comienza una nueva carga.
Nota: en AIR 1.5 y en Flash Player 10, el tamaño máximo de una imagen cargada es 8,191 píxeles de ancho o de largo, y el número total máximo de píxeles es 16.777.215. (De modo que si una imagen cargada tiene una anchura de 8.191 píxeles, sólo puede tener 2.048 píxeles de alto.) En Flash Player 9 y versiones anteriores y en AIR 1.1 y versiones anteriores, el límite es 2.880 píxeles de alto y 2.880 píxeles de ancho.
Un archivo SWF o imagen cargada en un objeto Loader hereda las propiedades de posición, giro y escala de los objetos de visualización principales del objeto Loader.
Utilice el método unload()
para eliminar películas o imágenes cargadas con este método o cancelar una operación de carga que se encuentra en curso.
Asimismo, se puede impedir que un archivo SWF utilice este método si define el parámetro allowNetworking
de las etiquetas object
y embed
de la página HTML que aloja el contenido SWF.
Notas sobre iOS
En aplicaciones de AIR en iOS, solo se puede cargar desde el paquete de la aplicación un archivo SWF con ActionScript. Esta restricción incluye cualquier ActionScript, incluidos los activos con nombres de clase exportados para ActionScript. Para cargar un archivo SWF debe usar el mismo dominio de aplicación que el del archivo SWF principal correspondiente, como se muestra en este ejemplo:
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);
Además, en iOS no puede cargar un archivo SWF que contenga código de bytes ActionScript (ABC), descargarlo y volver a cargarlo. Si intenta hacerlo, el motor de ejecución emite el error 3764.
En versiones anteriores a AIR 3.6 solo se pueden cargar archivos SWF que no contengan código de bytes ActionScript, tanto si se cargan desde el paquete de la aplicación como a través de una red. En lugar de usar un archivo SWF externo con ActionScript, puede crear una biblioteca de SWC y vincularla al SWF principal.
Estas restricciones no afectan a casos en que la aplicación se ejecuta en el simulador de iOS (ipa-test-interpreter-simulator o ipa-debug-interpreter-simulator) o en modo de intérprete (ipa-test-interpreter o ipa-debug-interpreter.)
Seguridad de Loader
Cuando utilice este método, considere el modelo de seguridad de Flash Player (consulte la descripción de la clase Loader).
En Flash Player 10 y versiones posteriores, si utiliza una estructura Content-Type de varias partes (por ejemplo, "multipart/form-data") con una acción de carga (indicada por un parámetro "filename" en un encabezado "content-disposition" dentro del cuerpo POST), la operación POST está sujeta a las reglas de seguridad aplicadas a las cargas:
- Es preciso realizar una operación POST como respuesta a una acción iniciada por el usuario, por ejemplo, un clic de ratón o la pulsación de una tecla.
- Si la operación POST afecta a varios dominios (el destino POST no se encuentra en el mismo servidor que el archivo SWF que envía la petición POST), el servidor de destino debe proporcionar un archivo de política URL que permita el acceso a varios dominios.
Asimismo, en cualquier estructura Content-Type de varias partes, la sintaxis debe ser válida (de acuerdo con la norma RFC2046). Si la sintaxis no es válida, la operación POST está sujeta a las reglas de seguridad que se aplican a las cargas.
Para obtener más información, consulte el tema del Centro de desarrollo de Flash Player Seguridad.
Parámetros
request:URLRequest — URL absoluta o relativa del archivo SWF, JPEG, GIF o PNG que va a cargarse. La ruta debe ser relativa al archivo SWF principal. Las URL absolutas incluyen la referencia al protocolo, como http:// o file:///. Los nombres de archivo no pueden incluir especificaciones de unidad de disco.
| |
context:LoaderContext (default = null ) — Un objeto LoaderContext que tiene propiedades que definen lo siguiente:
Si el parámetro Solo iOS: al llamar al método Para obtener información completa, consulte la descripción de las propiedades de la clase LoaderContext. |
Eventos
asyncError: — Distribuido por el objeto contentLoaderInfo si la propiedad LoaderContext.requestedContentParent se ha especificado y no es posible añadir contenido cargado como un elemento secundario al objeto DisplayObjectContainer especificado. Esto podría suceder si el contenido cargado es un flash.display.AVM1Movie o si la llamada addChild() a requestedContentParent emite un error.
| |
complete: — Distribuido por el objeto contentLoaderInfo cuando el archivo ha terminado de cargarse. El evento complete siempre se distribuye después del evento init .
| |
httpStatus: — Distribuido por el objeto contentLoaderInfo cuando se realiza una petición de red a través de HTTP y Flash Player puede detectar el código de estado HTTP.
| |
init: — Distribuido por el objeto contentLoaderInfo cuando las propiedades y métodos del archivo SWF están accesibles. El evento init siempre precede al evento complete .
| |
ioError: — Distribuido por el objeto contentLoaderInfo cuando se produce un error de entrada o salida que provoca que una operación de carga se realice incorrectamente.
| |
open: — Distribuido por el objeto contentLoaderInfo cuando se inicia la operación de carga.
| |
progress: — Distribuido por el objeto contentLoaderInfo al recibirse datos mientras progresa una operación de carga.
| |
securityError: — Distribuido por el objeto contentLoaderInfo si un archivo del entorno limitado local del sistema de archivos intenta cargar contenido en el entorno limitado local de red, o viceversa.
| |
securityError: — Distribuido por el objeto contentLoaderInfo si la propiedad LoaderContext.requestedContentParent se ha especificado y si el entorno limitado de seguridad de LoaderContext.requestedContentParent no tiene acceso al SWF cargado.
| |
unload: — Distribuido por el objeto contentLoaderInfo cuando se elimina un objeto cargado.
|
Emite
IOError — La propiedad digest del objeto request no es null . Sólo debe establecerse la propiedad digest de un objeto URLRequest al llamar al método URLLoader.load() cuando se carga un archivo SWZ (componente de plataforma de Adobe).
| |
SecurityError — El valor de LoaderContext.securityDomain debe ser null o SecurityDomain.currentDomain . Esto refleja el hecho de que sólo puede colocar los medios cargados en su entorno limitado de seguridad natural o en el suyo propio (éste último requiere un archivo de política).
| |
SecurityError — Es posible que los archivos SWF no establezcan LoaderContext.securityDomain con ningún valor que no sea null . No se permite importar medios que no sean locales en un entorno limitado de seguridad local ni colocar otros medios locales en un lugar que no sea su entorno limitado de seguridad natural.
| |
SecurityError — No es posible conectar con puertos reservados comúnmente. Para obtener una lista completa de los puertos bloqueados, consulte la sección “Restricción de API de red” en el Guía del desarrollador de ActionScript 3.0.
| |
SecurityError — Si las propiedades applicationDomain o securityDomain del parámetro context proceden de un dominio no autorizado.
| |
SecurityError — Si un archivo SWF local está intentando utilizar la propiedad securityDomain del parámetro context .
| |
IllegalOperationError — Si la propiedad requestedContentParent del parámetro context es Loader .
| |
IllegalOperationError — Si el parámetro LoaderContext.parameters se establece en un valor que no sea null y tiene algunos valores que no son cadenas.
| |
IllegalOperationError — En iOS, si la aplicación intenta cargar un archivo SWF en un dominio de aplicación distinto del dominio de aplicación principal.
| |
IllegalOperationError — En iOS, si los intentos de la aplicación para volver a cargar un archivo SWF cargado y descargado y el SWF contiene código ABC.
| |
Error — En iOS, si la aplicación intenta cargar un archivo SWF desde fuera del paquete de la aplicación que contiene código ActionScript. Este error no se puede detectar. Aparece como cuadro de diálogo en la pantalla de la aplicación que indica ActionScript sin compilar. En versiones anteriores a AIR 3.6, este error se produce al intentar cargar un archivo SWF con ActionScript, tanto externo como incluido en el paquete de la aplicación.
|
Elementos de API relacionados
loadBytes | () | método |
public function loadBytes(bytes:ByteArray, context:LoaderContext = null):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Se carga a partir de datos binarios almacenados en un objeto ByteArray.
El método loadBytes()
es asíncrono. Se debe esperar al evento "init" antes de acceder a las propiedades de un objeto cargado.
Cuando utilice este método, considere el modelo de seguridad de Flash Player (consulte la descripción de la clase Loader).
Nota (solo iOS): En aplicaciones de AIR en iOS, solo se puede cargar desde el paquete de la aplicación un archivo SWF con ActionScript. Esta restricción incluye cualquier ActionScript, incluidos los activos con nombres de clase exportados para ActionScript. Para cargar un archivo SWF debe usar el mismo dominio de aplicación que el del archivo SWF principal correspondiente.
En versiones anteriores a AIR 3.6, este método no tiene efecto en iOS.
Parámetros
bytes:ByteArray — Un objeto ByteArray. El contenido de ByteArray puede tener cualquiera de los formatos de archivo admitidos por la clase Loader: SWF, GIF, JPEG o PNG.
| |
context:LoaderContext (default = null ) — Objeto LoaderContext. Sólo se aplica la propiedad applicationDomain del objeto LoaderContext; no se aplican las propiedades checkPolicyFile y securityDomain del objeto LoaderContext.
Si el parámetro Para obtener más información, consulte el tema del Centro de desarrollo de Flash Player Seguridad. |
Eventos
asyncError: — Distribuido por el objeto contentLoaderInfo si la propiedad LoaderContext.requestedContentParent se ha especificado y no es posible añadir contenido cargado como un elemento secundario al objeto DisplayObjectContainer especificado. Esto podría suceder si el contenido cargado es un flash.display.AVM1Movie o si la llamada addChild() a requestedContentParent emite un error.
| |
complete: — Distribuido por el objeto contentLoaderInfo cuando la operación ha finalizado. El evento complete siempre se distribuye después del evento init .
| |
init: — Distribuido por el objeto contentLoaderInfo cuando las propiedades y métodos de los datos cargados están accesibles. El evento init siempre precede al evento complete .
| |
ioError: — Distribuido por el objeto contentLoaderInfo cuando el motor de ejecución no puede analizar los datos del conjunto de bytes.
| |
open: — Distribuido por el objeto contentLoaderInfo cuando se inicia la operación.
| |
progress: — Distribuido por el objeto contentLoaderInfo como datos transferidos a la memoria.
| |
securityError: — Distribuido por el objeto contentLoaderInfo si la propiedad LoaderContext.requestedContentParent se ha especificado y si el entorno limitado de seguridad de LoaderContext.requestedContentParent no tiene acceso al SWF cargado.
| |
unload: — Distribuido por el objeto contentLoaderInfo cuando se elimina un objeto cargado.
|
Emite
ArgumentError — Si la propiedad length del objeto ByteArray no es mayor que 0.
| |
IllegalOperationError — Si las propiedades checkPolicyFile o securityDomain del parámetro context no tienen el valor null.
| |
IllegalOperationError — Si la propiedad requestedContentParent del parámetro context es Loader .
| |
IllegalOperationError — Si el parámetro LoaderContext.parameters se establece en un valor que no sea null y tiene algunos valores que no son cadenas.
| |
IllegalOperationError — En iOS, si la aplicación intenta cargar un archivo SWF en un dominio de aplicación distinto del dominio de aplicación principal.
| |
IllegalOperationError — En iOS, si la aplicación intenta volver a cargar un archivo SWF cargado y descargado que contiene código ABC.
| |
Error — En iOS, si la aplicación intenta cargar un archivo SWF desde fuera del paquete de la aplicación que contiene código ActionScript. Este error no se puede detectar. Aparece como cuadro de diálogo en la pantalla de la aplicación con un mensaje que notifica ActionScript sin compilar. En versiones anteriores a AIR 3.6, este error se produce al intentar cargar un archivo SWF con ActionScript, tanto externo como incluido en el paquete de la aplicación.
| |
SecurityError — Si la propiedad applicationDomain proporcionada de la propiedad context procede de un dominio no autorizado.
| |
SecurityError — No es posible conectar con puertos reservados comúnmente. Para obtener una lista completa de los puertos bloqueados, consulte la sección “Restricción de API de red” en el Guía del desarrollador de ActionScript 3.0.
|
Elementos de API relacionados
loadFilePromise | () | método |
public function loadFilePromise(promise:IFilePromise, context:LoaderContext = null):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2.5 |
Carga una instancia de IFilePromise.
El método loadFilePromise
) toma un objeto IFilePromise
y carga los datos binarios. Si los datos son un flujo progresivo, como una espera de vídeo para los eventos "init" o progress antes de acceder a las propiedades del objeto cargado. De lo contrario, espera al evento complete para asegurarse de que los datos se han cargado por completo.
Cuando utilice este método, considere el modelo de seguridad de Flash Player (consulte la descripción de la clase Loader).
Parámetros
promise:IFilePromise — Un objeto IFilePromise. El origen de datos del objeto puede tener cualquiera de los formatos de archivo admitidos por la clase Loader: SWF, GIF, JPEG o PNG.
| |
context:LoaderContext (default = null ) — Objeto LoaderContext. Sólo se aplica la propiedad applicationDomain del objeto LoaderContext; no se aplican las propiedades checkPolicyFile y securityDomain del objeto LoaderContext.
Si el parámetro Para obtener más información, consulte el tema del Centro de desarrollo de Flash Player Seguridad. |
Eventos
asyncError: — Distribuido por el objeto contentLoaderInfo si la propiedad LoaderContext.requestedContentParent se ha especificado y no es posible añadir contenido cargado como un elemento secundario al objeto DisplayObjectContainer especificado. Esto podría suceder si el contenido cargado es un flash.display.AVM1Movie o si la llamada addChild() a requestedContentParent emite un error.
| |
complete: — Distribuido por el objeto contentLoaderInfo cuando la operación ha finalizado. El evento complete siempre se distribuye después del evento init .
| |
init: — Distribuido por el objeto contentLoaderInfo cuando las propiedades y métodos de los datos cargados están accesibles. El evento init siempre precede al evento complete .
| |
ioError: — Distribuido por el objeto contentLoaderInfo cuando el motor de ejecución no puede analizar los datos en el origen de datos o si el origen de datos flujo no se puede leer.
| |
open: — Distribuido por el objeto contentLoaderInfo cuando se inicia la operación.
| |
progress: — Distribuido por el objeto contentLoaderInfo como datos transferidos a la memoria.
| |
securityError: — Distribuido por el objeto contentLoaderInfo si la propiedad LoaderContext.requestedContentParent se ha especificado y si el entorno limitado de seguridad de LoaderContext.requestedContentParent no tiene acceso al SWF cargado.
| |
unload: — Distribuido por el objeto contentLoaderInfo cuando se elimina un objeto cargado.
|
Emite
IllegalOperationError — Si la propiedad requestedContentParent del parámetro context es Loader .
| |
IllegalOperationError — Si el parámetro LoaderContext.parameters se establece en un valor que no sea null y tiene algunos valores que no son cadenas.
| |
ArgumentError — Si el objeto IFilePromise pasado como parámetro es null
|
Elementos de API relacionados
unload | () | método |
public function unload():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Elimina un elemento secundario del objeto Loader que se cargó utilizando el método load()
. El elemento property
(propiedad) del objeto LoaderInfo asociado se restablece con el valor null
. El elemento secundario no se destruye necesariamente, ya que otros objetos pueden contener referencias a él; sin embargo, deja de ser elemento secundario del objeto Loader.
Al llamar al método unload()
, la propiedad de objeto Loader contentLoaderInfo
se establece en null
. Los activos visuales que se hayan cargado con el archivo SWF se descargan y se quitan de la memoria. Las definiciones de clase de ActionScript en el SWF cargado permanecen en la memoria y el código en el mismo dominio de aplicación que el SWF cargado puede acceder a instancias de esas clases y crear instancias nuevas.
Nota (solo iOS): en versiones anteriores a AIR 3.6, este método no tiene efecto en iOS.
La práctica más recomendable consiste en cerrar explícitamente los flujos de los objetos de un archivo SWF secundario como, por ejemplo, los objetos LocalConnection, NetConnection, NetStream y Sound, antes de descargar dicho archivo SWF secundario. En caso contrario, podría continuar reproduciéndose el sonido del archivo SWF secundario aunque se hubiera descargado el archivo SWF secundario. Para cerrar los flujos del archivo SWF secundario, añada un detector de eventos al elemento secundario que detecte el evento unload
. Cuando el elemento principal llame a Loader.unload()
, se distribuirá el evento unload
al elemento secundario. En el ejemplo siguiente, se muestra cómo puede lograr esto:
function closeAllStreams(evt:Event) { myNetStream.close(); mySound.close(); myNetConnection.close(); myLocalConnection.close(); } myMovieClip.loaderInfo.addEventListener(Event.UNLOAD, closeAllStreams);
Elementos de API relacionados
unloadAndStop | () | método |
public function unloadAndStop(gc:Boolean = true):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Intenta anular la carga del contenido de archivos SWF secundarios y detiene la ejecución de los comandos de los archivos SWF cargados. Este método intenta anular la carga de archivos SWF que se cargaron con Loader.load()
o con Loader.loadBytes()
eliminando referencias de objetos EventDispatcher, NetConnection, Timer, Sound o Video del archivo SWF secundario. Como resultado, ocurre lo siguiente en el archivo SWF secundario y en la lista de visualización del archivo SWF secundario:
- Se detienen los sonidos.
- Se quitan los detectores de eventos del escenario.
- Se quitan los detectores de eventos de
enterFrame
,frameConstructed
,exitFrame
,activate
ydeactivate
. - Se detienen los temporizadores.
- Se separan las instancias de Camera y Microphone.
- Se detienen los clips de película.
Al llamar al método unloadAndStop()
, la propiedad de objeto Loader contentLoaderInfo
se establece en null
. Los activos visuales que se hayan cargado con el archivo SWF se descargan y se quitan de la memoria. Las definiciones de clase de ActionScript en el SWF cargado permanecen en la memoria y el código en el mismo dominio de aplicación que el SWF cargado puede acceder a instancias de esas clases y crear instancias nuevas.
Nota (solo iOS): en versiones anteriores a AIR 3.6, este método no tiene efecto en iOS.
Parámetros
gc:Boolean (default = true ) — Proporciona pistas para ejecutar la eliminación de elementos innecesarios en los objetos SWF secundarios (true ) o para no ejecutarla (false ). Si descarga muchos objetos de forma asíncrona, establezca el parámetro gc en false para mejorar el rendimiento de la aplicación. No obstante, si el parámetro se establece en false , los objetos multimedia y de visualización del objeto SWF secundario pueden permanecer en la memoria tras ejecutar el comando unloadAndStop() .
|
Elementos de API relacionados
- Se crea una propiedad
url
, que es la ubicación y el nombre del archivo de imagen. - En el constructor
LoaderExample
, se crea un nuevo objeto Loader denominadoloader
que, a continuación, se transfiere al métodoconfigureListeners()
, descrito en el paso 3. - El constructor crea una nueva instancia de un objeto URLRequest,
request
, conurl
para que se conozcan el nombre del archivo y la ubicación. - El objeto
request
se transfiere seguidamente al métodoloader
del objetoload()
, que carga la imagen en la lista de visualización. - Se registra un detector de eventos
clickHandler
para el eventoclick
en el cargador. Tras un clic del ratón, se descarga la imagen cargada. - El método
configureListeners()
añade siete detectores de eventos con los siguientes métodos:- El método
completeHandler()
se ejecuta cuando termina de cargarse la imagen. - El método
httpStatusHandler()
se ejecuta si la imagen no se carga localmente y sólo si la petición de red queda disponible y Flash Player puede detectarla. - El método
initHandler()
se ejecuta antes del métodocompleteHandler()
y después del métodoprogressHandler()
. Normalmente, el eventoinit
resulta más útil al cargar los archivos SWF. - El método
ioErrorHandler()
se ejecuta si el archivo de imagen no se encuentra disponible o no está accesible. - El método
openHandler()
se ejecuta cuando se abre por primera vez el archivo de imagen. - El método
progressHandler()
se ejecuta cuando el archivo de imagen comienza a cargarse y de nuevo cuando la imagen termina de cargarse. - El método
unLoadHandler()
se ejecuta cuando la imagen se descarga con el métodounload()
al hacer el usuario clic en la imagen.
- El método
Recuerde los siguientes requisitos:
- este ejemplo requiere que coloque un archivo denominado Image.gif en el mismo directorio que el archivo SWF compilado. Utilice una imagen que tenga un área que se ajuste a las dimensiones del archivo SWF principal.
- Aunque en este ejemplo se utilizan todos los eventos disponibles en el objeto LoaderInfo, en la mayoría de los casos sólo se requiere un subconjunto. En especial, al cargar sólo un archivo de imagen, el evento
complete
(y quizás el eventoioError
) son suficientes al cargar una imagen local.
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:12 PM Z