Cargar Archivos Externos (Swf Audio Video Txt Var)

3
Carga de archivos externos (Swf, imágenes, txt, mp3) Para cargar una película o imagen, en ActionScript 3. Para cargar una película SWF o una imagen en un archivo Flash, se debe tener en cuenta que tanto la película que llama como el archivo llamado deben estar en la misma carpeta, es decir, en el mismo directorio. Por ejemplo C:\Mis Documentos\miProyecto. Las películas se pueden cargar en el escenario o en un clip de película. Supongamos que la película a cargar se llama "javier.swf”, la cargaremos en el escenario, en el panel de acciones escribimos el siguiente código: var pictLdr:Loader = new Loader(); La variable "carga" contiene una nueva presentación del objeto Loader. var pictURL:String = "banana.jpg" "carga" llama al método load que carga una película de una url (dirección) y recupera (request) la información. var pictURLReq:URLRequest = new URLRequest(pictURL); Añadimos el evento Complete de Loader, cumplirá la función insertMoovie. pictLdr.load(pictURLReq); Cuando se cumpla la función insertMovie SOLO DEVOLVERÁ (void)..... this.addChild(pictLdr); .... Añade el contenido de la variable "carga" al escenario La clase Loader es una subclase de DisplayObjectContainer. Un objeto Loader sólo puede contener un objeto de visualización secundario en su lista de visualización. Cuando se añade un Loader a la lista también se añade a la lista el objeto secundario cargado. El orden de visualización de las películas (niveles), a diferencia de AS2, está dada por las propiedades de Stage. ActionScript 3 no trabaja con niveles, trabaja con diversos contenedores, el Stage es el contenedor Escenario. Una forma de omitir el trabajo con contenedores y cargar los archivos en diferentes “niveles” es insertando el código de cada carga en una capa distinta: Capa 1, Capa 2, Capa 3, etc.. Para cargar la película, en ActionScript 2 (versión de código antigua) Supongamos que la película a cargar se llama "javier.swf" 1 En Flash, convertir un fotograma (o cualquier objeto) en un clip de película (seleccione el objeto > F8 > Clip de películas. 2 En propiedades (menú inferior) se le puede asignar un nombre al Clip de película, por ejemplo "mi_clip". 3 En el panel de acciones (sin seleccionar nada) escribir la siguiente sintaxis: mi_cilp.loadMovie("javier.swf"); Si no se carga en un clip de película, se puede cargar en un nivel. _level0.loadMovie("javier.swf"); 4 (opc). En vez que la carga del swf sea automática, se puede activar con un botón: on (release){ mi_cilp.loadMovie("javier.sw f"); } 5 (opcional) Si el archivo flash que carga la película lo exportamos como exe, es posible que cargue debidamente. En dicho caso, se recomienda mover la carpeta en dónde se aloja los

description

Flash AS3 Cargar archivo externo

Transcript of Cargar Archivos Externos (Swf Audio Video Txt Var)

Como llamar desde un archivo Flash a otras peliculas SWF externas

Carga de archivos externos (Swf, imgenes, txt, mp3)Para cargar una pelcula o imagen, en ActionScript 3.

Para cargar una pelcula SWF o una imagen en un archivo Flash, se debe tener en cuenta que tanto la pelcula que llama como el archivo llamado deben estar en la misma carpeta, es decir, en el mismo directorio. Por ejemplo C:\Mis Documentos\miProyecto. Las pelculas se pueden cargar en el escenario o en un clip de pelcula.Supongamos que la pelcula a cargar se llama "javier.swf, la cargaremos en el escenario, en el panel de acciones escribimos el siguiente cdigo:

var pictLdr:Loader = new Loader();La variable "carga" contiene una nueva presentacin del objeto Loader.

var pictURL:String = "banana.jpg""carga" llama al mtodo load que carga una pelcula de una url (direccin) y recupera (request) la informacin.

var pictURLReq:URLRequest = new URLRequest(pictURL);Aadimos el evento Complete de Loader, cumplir la funcin insertMoovie.

pictLdr.load(pictURLReq);Cuando se cumpla la funcin insertMovie SOLO DEVOLVER (void).....

this.addChild(pictLdr);.... Aade el contenido de la variable "carga" al escenario

La clase Loader es una subclase de DisplayObjectContainer. Un objeto Loader slo puede contener un objeto de visualizacin secundario en su lista de visualizacin. Cuando se aade un Loader a la lista tambin se aade a la lista el objeto secundario cargado.El orden de visualizacin de las pelculas (niveles), a diferencia de AS2, est dada por las propiedades de Stage. ActionScript 3 no trabaja con niveles, trabaja con diversos contenedores, el Stage es el contenedor Escenario. Una forma de omitir el trabajo con contenedores y cargar los archivos en diferentes niveles es insertando el cdigo de cada carga en una capa distinta: Capa 1, Capa 2, Capa 3, etc..Para cargar la pelcula, en ActionScript 2 (versin de cdigo antigua)

Supongamos que la pelcula a cargar se llama "javier.swf"

1 En Flash, convertir un fotograma (o cualquier objeto) en un clip de pelcula (seleccione el objeto > F8 > Clip de pelculas.

2 En propiedades (men inferior) se le puede asignar un nombre al Clip de pelcula, por ejemplo "mi_clip".

3 En el panel de acciones (sin seleccionar nada) escribir la siguiente sintaxis:

mi_cilp.loadMovie("javier.swf");

Si no se carga en un clip de pelcula, se puede cargar en un nivel.

_level0.loadMovie("javier.swf");

4 (opc). En vez que la carga del swf sea automtica, se puede activar con un botn: on (release){

mi_cilp.loadMovie("javier.swf");

}

5 (opcional) Si el archivo flash que carga la pelcula lo exportamos como exe, es posible que cargue debidamente. En dicho caso, se recomienda mover la carpeta en dnde se aloja los archivos al directorio C:\. En el ejemplo sera C:\miProyecto

Para cargar una archivo de texto txt, en ActionScript 3.En Flash, creamos un Cuadro de texto (Clsico > Introduccin de Texto) al que llamaremos pa. El archivo de texto tiene que ser plano (por ej., txt, no Word). En el cdigo se definir (2da lnea) que la instancia de loader sea formato Texto (la otra opcin sera formato Variable):var carga:URLLoader = new URLLoader(); La Var carga guarda una nueva instancia de Loadercarga.dataFormat = URLLoaderDataFormat.TEXT; El formato del Loader es Textocarga.load(new URLRequest("archivo.txt"));

Direccin del archive a cargarcarga.addEventListener(Event.COMPLETE, Cargandotxt); Da informacin del Loaderfunction Cargandotxt(ev:Event){

Inicia la funcin, que define que,,,,,, pa.text=ev.target.data;

El texto de pa ser igual al data del Loader}Para cargar una archivo de msica mp3, en ActionScript 3.Una forma sencilla de incluir msica es ir a Archivo > Importar > Importar a Biblioteca > elegir el archivo de msica. Una vez incluido, ir al Panel de Biblioteca y arrastrar la msica al escenario. La msica se reproducir a partir del fotograma donde se arrastr.

Otra forma mas controlable de cargar msica es a travs del cdigo, que propone el formato de carga habitual del objeto Loader, pero podr invocar luego a un objeto de control de sonido y manejarlo (stop, pausa, volumen). Para ver como manipular el sonido mas ampliamente, vea la referencia correspondiente. El siguiente cdigo carga Tu.mp3 y acciona play:var dir:URLRequest = new URLRequest();

dir.url = "Tu.mp3";

var s:Sound = new Sound();

s.load(req);

s.play();Creo un contenedor para almacenar la direccin del mp3

Le asigno la ruta y el archivo

La var s es tipo Sonido y guarda una instancia de Sound.Cargo el sonido que guarde en dir en la instancia s

Acciono play para que funcione.

Seguimiento de la carga (progreso) y de su contexto.

Supervisin del progreso de carga: Cuando se empieza a cargar el archivo, se crea un objeto LoaderInfo que proporciona informacin tal como el progreso de carga, los URL del cargador y el contenido cargado, el nmero total de bytes, anchura y altura. Un LoaderInfo tambin distribuye eventos para supervisar el progreso de la carga. El objeto LoaderInfo sirve para la instancia principal del SWF, para un objeto Loader y para un objeto cargado por Loader. Se puede acceder a LoaderInfo como una propiedad tanto del Loader como del objeto cargado. En cuanto comienza la carga, acceda a LoaderInfo a travs de la propiedad contentLoaderInfo; cuando finaliza tambin es posible acceder a travs de la propiedad loaderInfo del objeto. Para acceder a las propiedades del contenido cargado, es necesario aadir un detector de eventos al objeto LoaderInfo:

import flash.display.Loader;

import flash.display.Sprite;

import flash.events.Event;

var ldr:Loader = new Loader();

var urlReq:URLRequest = new URLRequest("Circle.swf");

ldr.load(urlReq);

ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);

addChild(ldr);

function loaded(event:Event):void

{

var content:Sprite = event.target.content;

content.scaleX = 2;

}

Especificacin del contexto de carga: Cuando se carga, se puede especificar opcionalmente un parmetro context. Este parmetro es un objeto LoaderContext que incluye tres propiedades que permiten definir el contexto de uso del contenido cargado:

checkPolicyFile: use esta propiedad slo si carga una imagen (no un SWF). Si es true, Loader comprueba el servidor de origen de un archivo de poltica entre dominios. Slo es necesaria en el contenido procedente de dominios ajenos al del SWF cargado. Si el servidor concede permisos a Loader, puede acceder a los datos de la imagen cargada.

securityDomain: use esta propiedad slo si carga un SWF (no una imagen). Se especifica en un SWF de un dominio ajeno al que contiene el Loader. Player comprobar la existencia de un archivo de poltica entre dominios y, si existe, los SWF pueden reutilizar los scripts del SWF cargado. Se puede especificar flash.system.SecurityDomain.currentDomain como este parmetro.

applicationDomain: use esta propiedad solo si carga un SWF AS3. Al cargar, se puede especificar que se incluya en el mismo dominio del Loader; establezca el parmetro applicationDomain en flash.system.ApplicationDomain.currentDomain.

El ej, comprueba si existe un archivo de poltica durante la carga de un bitmap de otro dominio:

El ej, comprueba si existe un archivo de poltica entre dominios durante la carga de un SWF de otro dominio, con el fin de colocarlo en el mismo entorno de Loader.

var context:LoaderContext = new LoaderContext();

context.checkPolicyFile = true;

var urlReq:URLRequest = new URLRequest("http://www.tudo.com/im.jpg");

var ldr:Loader = new Loader();

ldr.load(urlReq, context);

var context:LoaderContext = new LoaderContext();

context.securityDomain = SecurityDomain.currentDomain;

context.applicationDomain = ApplicationDomain.currentDomain;

var urlReq:URLRequest = new URLRequest("http://www.tudo.com/an.swf");

var ldr:Loader = new Loader();

ldr.load(urlReq, context);