Esta galería consiste en que importa las imagenes de la carpeta que tu le mandas, sin tener que estar en la bibilioteca, y mediante codigo las escala y las rota cada vez de una manera diferente, queda bastante curioso y desenfadado, cuando haces doble click en una imagen esta se hace grande (tamaño real de la imagen) y tanto esa como las otras puedes arrastrarlas por todo el escenario, cuando quieres ver otra imagen en grande le das doble click a esa otra y la que estaba en grande se hace pequeña por si sola y la otra se hace grande ¿Me explico?.
Bueno pues la cuestion es que me gustaría que una vez que la imagen estuviera en grande poder volver a darle doble click y que se hiciera pequeña otra vez.
Pero no se muy bien como hacerlo, ya que como os he dicho mis conocimientos de este lenguaje son algo escasos.
A ver si algun sabio dejandole el codigo que ya tengo me sabe decir que función o evento tengo que meterle y donde para que haga lo que pretendo.
Muchas gracias por adelantado.
Código actionscript:
Ver original
import fl.transitions.easing.*; import com.gskinner.motion.GTween; var listadoFotos:Array = new Array(); listadoFotos = ["compo1.jpg", "compo2.jpg", "compo3.jpg", "compo4.jpg", "compo5.jpg", "compo6.jpg"]; var pAmp:Polaroid = null; var velocidad:Number = .7; for (var i:uint = 0; i<listadoFotos.length; i++) { // traemos la clase Polaroid desde la biblioteca var clip:Polaroid = new Polaroid(); addChild(clip); // las colocamos clip.x = Math.round(Math.random()*770); clip.y = Math.round(Math.random()*500); clip.rotation = Math.round(30-(Math.random()*60)); clip.scaleX = clip.scaleY = .4; // recordamos los valores iniciales clip.inicialX = clip.x; clip.inicialY = clip.y; clip.inicialRotacion = clip.rotation; // cargamos la imagen clip.addChild(cargaImagen("composicion/"+listadoFotos[i], -165 , -212)); // añadimos funcionalidad clip.addEventListener(MouseEvent.MOUSE_DOWN, arrastra); clip.addEventListener(MouseEvent.MOUSE_UP, suelta); clip.mouseChildren = false; clip.doubleClickEnabled = true; clip.addEventListener(MouseEvent.DOUBLE_CLICK, amplia); } // carga de Imagen mediante función propia function cargaImagen(ruta:String, dondeX:Number = 0, dondeY:Number = 0):Loader { var peticion:URLRequest = new URLRequest(ruta); var cargador:Loader = new Loader(); cargador.x = dondeX; cargador.y = dondeY; cargador.load(peticion); // devolvemos el loader al sitio donde se ha hecho la llamada a la función return cargador; } // amplia la foto seleccionada al hacer doble click y reduce la antigua si existiera function amplia(ev:MouseEvent) { if ( pAmp != null) { var reducir:GTween = new GTween(pAmp, velocidad, {rotation:pAmp.inicialRotacion, scaleX:.3, scaleY:.3, x:pAmp.inicialX, y:pAmp.inicialY}, {ease:Strong.easeInOut}); } var ampliar:GTween = new GTween(ev.currentTarget, velocidad, {rotation:0, scaleX:1, scaleY:1, x:175, y:212}, {ease:Strong.easeInOut}); pAmp = Polaroid(ev.currentTarget); } // comienza el arrastre de la polaroid por el escenario function arrastra(ev:MouseEvent) { addChild(Sprite(ev.currentTarget)); ev.currentTarget.startDrag(); } // detiene el arrastre de la polaroid por el escenario function suelta(ev:MouseEvent) { var clip:Polaroid = Polaroid(ev.currentTarget); clip.inicialX = clip.x; clip.inicialY = clip.y; stopDrag();}