
28/12/2007, 20:46
|
| | Fecha de Ingreso: diciembre-2007
Mensajes: 1
Antigüedad: 17 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");
|