estoy apenas empezandola, les cuento mi problema o duda.
en los 3 botones inferiores al hacer ROLL_OVER aparece un nuevo moviclip que esta oculto y con el una galeria de imagenes. esta galeria de imagenes se carga la primera vez que se hace ROLL_OVER sobre el boton, aca va mi pregunta yo cuando llamo al xml y lo parseo luego creo un for y me creando los loader y cargando con la direccion que puse en el xml ya dicho.
el problema que encuentro es que el cargador me aparece pero se me va antes de que carguen todas las imagenes.
yo nose si sera que las carga bien y hago el removeChild del cargador o que luego que las carga demora un poco en ir mostrandolas.
http://spedevigner.com/Sitios/Julio%20Doldan%20Ltda/home.html
ahi lo estoy alojando por si lo quieren ver ustedes mismos.
tambien dejo la clase en que creo la galeria:
Código ActionScript :
package Galeria{
import flash.display.*;
import flash.events.*;
import flash.net.URLLoader;
import flash.net.URLRequest;
public class galeria extends MovieClip{
private var xmlLoader:URLLoader;
private var xml:XML;
private var xmlList:XMLList;
private var loader:Loader;
private var urlRequest:URLRequest;
private var imagenes:Array;
private var pos:int = 0;
private var cont:MovieClip = new MovieClip();
private var mascara:_mascaraGaleria = new _mascaraGaleria();
private var movimiento:Number = 0;
private var friccion:Number;
private var carg:_cargador = new _cargador();
private var btn_sig:_btn_sig = new _btn_sig();
private var btn_ant:_btn_ant = new _btn_ant();
private var dir:String;
//creamos un contenedor para las imagenes y una mascara para las mismas, adms los botones de der y izq
public function galeria(xml:String):void{
dir = xml;
init();
}
//primero que nada parseamos el xml y tomamos la direcciones de las imagenes que hayamos puesto
private function init():void{
xmlLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE,parseXML);
xmlLoader.load(new URLRequest(dir));
}
private function parseXML(event){
xml = new XML(event.target.data);
xml.ignoreWhitespace = true;
xmlList = xml.img;
for(var i = 0; i <= xmlList.length()-1; i++){
imagenes = new Array();
urlRequest = new URLRequest(xmlList[i]);
loader = new Loader();
loader.load(urlRequest);
loader.x = (220 * i);
cont.addChild(loader);
imagenes[i] = loader;
if(i >= xmlList.length()-1){
imagenes[xmlList.length()-1].contentLoaderInfo.addEventListener(Event.COMPLETE, loaderComplete);
imagenes[xmlList.length()-1].contentLoaderInfo.addEventListener(Event.OPEN, loaderOpen);
}
}
}
private function loaderComplete(e:Event):void{
btn_sig.addEventListener(MouseEvent.ROLL_OVER, imgSig);
btn_sig.addEventListener(MouseEvent.ROLL_OUT, imgSigOut);
btn_ant.addEventListener(MouseEvent.ROLL_OVER, imgAnt);
btn_ant.addEventListener(MouseEvent.ROLL_OUT, imgAntOut);
addEventListener(Event.ENTER_FRAME, movImg);
removeChild(carg);
carg = null;
addChild(cont);
cont.x = -(cont.width-700) /2;
addChild(mascara);
mascara.x = 40;
cont.mask = mascara;
addChild(btn_sig);
btn_sig.y = 50;
btn_sig.x = 720;
addChild(btn_ant);
btn_ant.y = 50;
}
private function loaderOpen(e:Event):void{
carg.x = 330;
carg.y = 40;
addChild(carg);
}
private function imgSig(e:MouseEvent):void{
movimiento = - 10;
friccion = 0;
}
private function imgAnt(e:MouseEvent):void{
movimiento = + 10;
friccion = 0;
}
private function imgSigOut(e:MouseEvent):void{
friccion = .5;
}
private function imgAntOut(e:MouseEvent):void{
friccion = -.5;
}
private function movImg(e:Event):void{
cont.x += movimiento;
if (movimiento != 0){
movimiento += friccion;
}else{
friccion = 0;
}
if(cont.x >= 40){
cont.x = 40;
}else if(cont.x <= -(cont.width-740)){
cont.x = -(cont.width-740);
}
}
}
}
