Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/10/2011, 10:42
Swivel
 
Fecha de Ingreso: febrero-2011
Mensajes: 48
Antigüedad: 13 años, 9 meses
Puntos: 0
como volver al fotograma 1 sin que se vea la galeria del fotograma 2

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

Última edición por Swivel; 21/10/2011 a las 10:58 Razón: me equivoque