bueno para hacer la galeria pongo en el escenario x cantidad de imagenes con nombres de instancia mPhoto0, mPhoto1, mPhoto2, etc
tambien pongo la misma cantidad de thumbnails (botones con la imagen en miniatura): mThumb0, mThumb1, mThumb2, etc
este es el codigo:
Código:
bueno, eso es para hacer una galeria con las imagenes dentro del mismo archivo, y aqui viene mi consulta. ¿cómo puedo hacer exactamente lo mismo, pero con imagenes externas?//creo 2 array, uno con x cantidad de las imagenes a mostrar, cambiando el nombre de instancia solo en el numero //el otro de la misma forma con los botones con thumbnails var aPhotos:Array = new Array(mPhoto0,mPhoto1,mPhoto2,mPhoto3,mPhoto4,mPhoto5); var aThumbs:Array = new Array(mThumb0,mThumb1,mThumb2,mThumb3,mThumb4,mThumb5); function clearPhotos():void //creo una funcion para hacer invisibles todas las imagenes { mPhoto0.visible = false; mPhoto1.visible = false; mPhoto2.visible = false; mPhoto3.visible = false; mPhoto4.visible = false; mPhoto5.visible = false; } clearPhotos(); //llamo la funcion //funciones para las animaciones rollOver y rollOut de los thumbnails function btnOver(e:Event):void { mThumb0.gotoAndPlay("rollover"); } function btnOut(e:Event):void { mThumb0.gotoAndPlay("rollout"); } //funcion al dar click a los thumbnails function thumbClick(e:Event):void { clearPhotos(); //borro la foto que haya aparecido var count:Number = aThumbs.length; //variable con el valor de la cantidad de thumbnails var index:Number;//variable sin definir for (var i:Number = 0; i<count; i++) // creo un loop para la cantidad de los thumbs { if (e.target.name == aThumbs[i].name)// si el nombre del thumb es el mismo que uno de los del array { index = i;// guardo el valor del array en la variable index } } aPhotos[index].visible = true;//el valor guardado en index se ocupa en el array de las imagenes para hacerla visible } for (var i:Number = 0; i<aThumbs.length; i++) //se crea un loop para definir los listener a cada boton sin necesidad de repetirlos { aThumbs[i].addEventListener(MouseEvent.ROLL_OUT, btnOut); aThumbs[i].addEventListener(MouseEvent.ROLL_OVER, btnOver); aThumbs[i].addEventListener(MouseEvent.CLICK, thumbClick); aThumbs[i].mouseChildren = false; //mouseChildren para definir la instancia correcta en cada boton }
con este codigo cargo varias imagenes externas:
Código:
pero como pueden ver, las imagenes las cargo como strings, entonces no puedo hacer lo mismo que en el primer codigo, ya que cada imagen no es un movieClip ni tienen nombre de instancia.var images:Array = new Array("imagenes/01.jpg","imagenes/02.jpg","imagenes/03.jpg"); for (var i:uint = 0; i<images.length; i++) { var request:URLRequest = new URLRequest(images[i]); var loader:Loader = new Loader(); loader.x = 100; loader.y = 100; loader.load(request); this.addChild(loader); }
Tal vez lo estoy viendo de forma equivocada no se, pero si alguien me puede ayudar se lo agradeceria muchisimo.
eso es todo, gracias