You are on page 1of 3

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 Loader

carga.dataFormat = URLLoaderDataFormat.TEXT;
El formato del Loader es Texto
carga.load(new URLRequest("archivo.txt"));
Direccin del archive a cargar
carga.addEventListener(Event.COMPLETE, Cargandotxt);
Da informacin del Loader
function Cargandotxt(ev:Event){
pa.text=ev.target.data;
}

Inicia la funcin, que define que,,,,,,


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);

You might also like