Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/12/2007, 20:46
rdsz
 
Fecha de Ingreso: diciembre-2007
Mensajes: 1
Antigüedad: 16 años, 3 meses
Puntos: 0
Problema onRelease en galeria XML

Hola flasheros
Tengo un problema con mi galeria de imágenes, mas bien es por no saber plantearlo :(
Cargo las imágenes desde un XML y todo tira bien, hasta el momento en que tengo que asignar la accion de cargar la img en grande en otro movieclip, la cosa, es que me carga solo la ultima imágen, se porqué, no defino que cargue X imágen al dar a X boton. Pero es que no se como plantearlo, e mirado otras galerias pero me resulta complejo el codigo dado que todavia soy novato en esto, seguramnt ustedes puedan ayudarme xD será algo simple seguramente ^^.
He visto por ahí que hacen algo como "fullimage[i]" para saber a que imágen llamar, pero tampoco se como enlazarlo en mi galeria. Gracias por adelantado :)
Aqui les dejo el código:

Código:
import mx.transitions.Tween;
stop();
// -- posición donde se cargará la primera imagen
x = 15;
y = 15;
// -- ancho y alto de la imagen más 5 pixeles de espacio
ancho = 160;
alto = 125;
//Creo el movieclip para la imagen en grande
createEmptyMovieClip("img_grande", 100000);
img_grande._x = 555;
img_grande._y = 42;
//-------------------------------------- GALERIA XML
// -- creo un nuevo objeto XML
miXML = new XML();
// -- ignorar espacios 
miXML.ignoreWhite = true;
// -- proceso si la carga tuvo éxito
miXML.onLoad = function(succes) {
	if (succes) {
		// -- por cada nodo hijo del nodo principal...
		for (var i = 0; i<this.firstChild.childNodes.length; i++) {
			// -- delaro una variable que recoje el atributo del nodo (nombre de la imagen)
			galeria = this.firstChild.childNodes[i].attributes.id;
			fullimage = this.firstChild.childNodes[i].attributes.grande;
			// -- creo un clip de película vacio 
			txt.createEmptyMovieClip("diapo"+i, i+100);
			//defino el clip
			item = txt["diapo"+i];
			item.createEmptyMovieClip("target_mc", 1);
			//-- clip de película donde cargar la imagen dentro de item para que haya "Release"
			item.target_mc.loadMovie(galeria);
			item.target_mc._alpha = 0;
			//si esta cargada la img, la muestro.
			if (item.target_mc.bytesLoaded == item.target_mc.bytesTotal) {
				var myTween = new Tween(item.target_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 50, 30, false);
			}
			// -- indico posición x - y                          
			item._x = x;
			item._y = y;
			// -- indico funcion "Release", "RollOver" y "RollOut" ciclicos
			item.onRelease = function() {
				//alpha 0 antes de cargar
				img_grande._alpha = 0;
				//cargo la imagen grande
				img_grande.loadMovie(fullimage);
				//si esta cargada, animación de alpha hasta 100
				if (img_grande.bytesLoaded == img_grande.bytesTotal) {
					var myTween = new Tween(img_grande, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, 30, false);
				}
			};
			item.onRollOver = function() {
				//guardo alpha
				AlphaActual1 = this.target_mc._alpha;
				//alpha hasta 100
				var FadeOff:Tween = new Tween(this.target_mc, "_alpha", mx.transitions.easing.Regular.easeOut, AlphaActual1, 100, 10, false);
			};
			item.onRollOut = function() {
				//guardo alpha
				AlphaActual2 = this.target_mc._alpha;
				//alpha hasta 50
				var FadeOffFoto:Tween = new Tween(this.target_mc, "_alpha", mx.transitions.easing.Regular.easeOut, AlphaActual2, 50, 10, false);
			};
			// -- incremento el valor de x para la siguiente imágen
			x += ancho;
			// -- ruptura de control, control de número de columnas
			if (x>=ancho*3) {
				x = x-(ancho*3);
				y += alto;
			}
		}
	}
};
// -- cargar XML
miXML.load("imagenes.xml");