Hola!
estoy con el Flash poniendo 2 fotogramas (1 y 2), y en cada fotograma hay un botón (boton1 y boton2, respectivamente). El botón 1 me lleva al fotograma 2, y el boton 2 me lleva al fotograma 1, gracias a este código:
Código:
stop();
import flash.events.MouseEvent;
boton1.addEventListener(MouseEvent.CLICK, pulsa1);
function pulsa1(event:MouseEvent):void{
gotoAndPlay(2);
}
Hay un código igual en el fotograma 2, cambiando los valores del botón, la funcion y el fotograma claro.
Código:
stop();
import flash.events.MouseEvent;
boton2.addEventListener(MouseEvent.CLICK, pulsa2);
function pulsa2(event:MouseEvent):void{
gotoAndPlay(1);
}
La duda es: en el fotograma 2, ademas he puesto el código de una galería de archivos externa. No creo que sea relevante este codigo pero lo pongo:
Código:
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.display.MovieClip;
import flash.display.Loader;
import fl.controls.ProgressBar;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
var columnas:Number;
var mi_x:Number;
var mi_y:Number;
var thumb_width:Number;
var thumb_height:Number;
var mis_imagenes:XMLList;
var total:Number;
var container_mc:MovieClip;
var preloaders_mc:MovieClip;
var img_mc:MovieClip;
var x_contador:Number = 0;
var y_contador:Number = 0;
var cargadorXML:URLLoader = new URLLoader();
cargadorXML.load (new URLRequest ("galeria1.xml"));
cargadorXML.addEventListener(Event.COMPLETE, procesarXML);
function procesarXML(e:Event):void{
var miXML:XML = new XML(e.target.data);
columnas = miXML.@COLUMNS;
mi_x = miXML.@XPOSITION;
mi_y = miXML.@YPOSITION;
thumb_width = miXML.@WIDTH;
thumb_height = miXML.@HEIGHT;
mis_imagenes = miXML.IMAGE;
total = mis_imagenes.length();
crearContainer();
cargarThumbs();
}
function crearContainer():void {
container_mc = new MovieClip();
container_mc.x = mi_x;
container_mc.y = mi_y;
addChild (container_mc);
container_mc.addEventListener (MouseEvent.CLICK, cargarImgGrande);
container_mc.buttonMode = true;
preloaders_mc = new MovieClip();
preloaders_mc.x = container_mc.x;
preloaders_mc.y = container_mc.y;
addChild(preloaders_mc);
}
function cargarThumbs ():void {
for (var i:Number = 0; i < total; i++){
var thumb_url = mis_imagenes[i].@THUMB;
var thumb_loader = new Loader();
thumb_loader.load (new URLRequest(thumb_url));
thumb_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbCargado);
thumb_loader.name = i;
thumb_loader.x = (thumb_width + 10) * x_contador;
thumb_loader.y = (thumb_height + 10) * y_contador;
if(x_contador+1 < columnas){
x_contador++;
}else {
x_contador = 0;
y_contador++;
}
var preloader_pb:ProgressBar = new ProgressBar();
preloader_pb.source = thumb_loader.contentLoaderInfo;
preloader_pb.x = thumb_loader.x;
preloader_pb.y = thumb_loader.y;
preloader_pb.width = thumb_width;
preloader_pb.height = thumb_height;
preloaders_mc.addChild(preloader_pb);
preloader_pb.addEventListener(Event.COMPLETE, progressBarCargada);
}
}
function thumbCargado (e:Event):void {
var mi_thumb:Loader = Loader(e.target.loader);//revisar sintaxis new loader
container_mc.addChild(mi_thumb);
new Tween(mi_thumb, "alpha", Strong.easeIn, 0,1,0.5, true);
}
function cargarImgGrande(e:MouseEvent):void{
var img_loader:Loader = new Loader ();
var img_url = mis_imagenes[e.target.name].@FULL;
img_loader.load(new URLRequest(img_url));
img_loader.contentLoaderInfo.addEventListener(Event.INIT, imgGrandeCargada);
var img_pb:ProgressBar= new ProgressBar();
img_pb.source = img_loader.contentLoaderInfo;
img_pb.x= (stage.stageWidth - img_pb.width )/2;
img_pb.y= (stage.stageHeight - img_pb.height )/2;
preloaders_mc.addChild(img_pb);
img_pb.addEventListener(Event.COMPLETE, progressBarCargada);
container_mc.removeEventListener (MouseEvent.CLICK, cargarImgGrande);
container_mc.buttonMode = false;
new Tween(container_mc,"alpha", Strong.easeIn, 1,0.5,0.5,true);
}
function imgGrandeCargada (e:Event):void{
img_mc = new MovieClip();
img_mc.buttonMode = true;
addChild (img_mc);
var mi_loader:Loader = Loader(e.target.loader);
img_mc.addChild(mi_loader);
new Tween (mi_loader, "alpha", Strong.easeIn, 0, 1, 0.5, true);
mi_loader.x = (stage.stageWidth - mi_loader.width )/2;
mi_loader.y = (stage.stageHeight - mi_loader.height )/2;
mi_loader.addEventListener(MouseEvent.CLICK, ocultarImgGrande);
}
function ocultarImgGrande (e:MouseEvent):void{
var mi_loader:Loader = Loader(e.currentTarget);
var fade_out:Tween = new Tween (mi_loader, "alpha", Strong.easeOut, 1,0,0.2, true);
fade_out.addEventListener(TweenEvent.MOTION_FINISH, tweenFinalizado);
/*mi_loader.unload ();
removeChild(mi_loader);
*/
container_mc.addEventListener(MouseEvent.CLICK, cargarImgGrande );
new Tween(container_mc, "alpha", Strong.easeOut, 0.5,1,0.5, true);
}
function progressBarCargada (e:Event):void{
var thumbs_pb:ProgressBar = ProgressBar (e.target);
preloaders_mc.removeChild (thumbs_pb);
thumbs_pb.removeEventListener(Event.COMPLETE, progressBarCargada);
}
function tweenFinalizado (e:TweenEvent):void{
var mi_loader:Loader = Loader (e.target.obj);
mi_loader.unload();
img_mc.removeChild(mi_loader);
removeChild(img_mc);
img_mc = null;
/*removeChild(mi_loader);*/
container_mc.addEventListener(MouseEvent.CLICK, cargarImgGrande);
container_mc.buttonMode = true;
}
Pero resulta que al pulsar el boton2 y volver al fotograma 1, la galería sigue estando ahí!!! Y no quiero que exista esa galeria al volver atras (fotograma 1).
Alguien sabe si puedo solucionarlo y como??
Espero haberme explicado bien.
Soy muy novato con el actionscript 3!
Ayuda! Gracias