Hola, a ver si me podeis ayudar ya que soy un poco novato con el action script.
Estoy haciendo una galería en flash que carga fotos de un xml a un mc que tengo en dos capas del escenario. El código es este:
Código actionscript:
Ver original//CREAMOS MOVIECLIPS CONTENEDORES DE IMAGENES/////////////////
_root.createEmptyMovieClip("imagen1_mc",1);
_root.createEmptyMovieClip("imagen2_mc",2);
//////////////////////////////////////////////////////////////
//ANALIZAMOS NODOS XML////////////////////////////////////////
function analiza_xml() {
direcciones = new Array();
vinculos = new Array();
duraciones = new Array();
primer_nodo = imagenes_xml.childNodes;
nodo_galeria = primer_nodo[0].childNodes;
for (var j = 0; j<nodo_galeria.length; j++) {
direcciones[j] = nodo_galeria[j].attributes.direccion;
vinculos[j] = nodo_galeria[j].attributes.vinculo;
duraciones[j] = nodo_galeria[j].attributes.duracion;
}
}
///////////////////////////////////////////////////////////////
//FUNCION PRINCIPAL////////////////////////////////////////////
function muestra_imagen(cual) {
var mclListener:Object = new Object();
mclListener.onLoadInit = function(objetivo_mc:MovieClip) {
if (objetivo_mc == imagen1_mc) {
objetivo_mc.swapDepths(imagen2_mc);
alphaTween = new mx.transitions.Tween(_root.imagen2_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 100, 0, 2, true);
alphaTween2 = new mx.transitions.Tween(_root.imagen1_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, 2, true);
} else {
objetivo_mc.swapDepths(imagen1_mc);
alphaTween = new mx.transitions.Tween(_root.imagen1_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 100, 0, 2, true);
alphaTween2 = new mx.transitions.Tween(_root.imagen2_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, 2, true);
}
if (vinculos[cual] != undefined) {
objetivo_mc.onRelease = function() {
getURL(vinculos[cual]);
};
} else {
objetivo_mc.onRollOver = function() {
objetivo_mc.useHandCursor = false;
};
}
mi_duracion = duraciones[cual];
objetivo_mc.onEnterFrame = function() {
var mi_fecha:Date = new Date();
milisegundos = mi_fecha.getTime();
if (hito == undefined) {
hito = milisegundos;
}
milisegundos_pasados = milisegundos-hito;
if ((milisegundos_pasados>1000*mi_duracion) or( _root.avance_inmediato==1)) {
_root.avance_inmediato=0;
hito = milisegundos;
siguiente_imagen();
}
};
};
var imagen_mcl:MovieClipLoader = new MovieClipLoader();
imagen_mcl.addListener(mclListener);
if (imagen1_mc.getDepth()<imagen2_mc.getDepth()) {
imagen_mcl.loadClip(direcciones[cual],imagen1_mc);
} else {
imagen_mcl.loadClip(direcciones[cual],imagen2_mc);
}
}
//////////////////////////////////////////////////////////////
//SECUENCIA IMAGENES///////////////////////////////////////////
function siguiente_imagen() {
if (cual == undefined) {
cual = 0;
} else {
cual++;
}
if (cual == nodo_galeria.length) {
cual = 0;
}
muestra_imagen(cual);
}
//////////////////////////////////////////////////////////////
//LEE XML//////////////////////////////////////////////////////
var imagenes_xml:XML = new XML();
imagenes_xml.ignoreWhite = true;
imagenes_xml.onLoad = function(success) {
analiza_xml();
siguiente_imagen();
};
function lee_xml(que) {
imagenes_xml.load(que);
}
lee_xml("pasefotos.xml");
stop();
Luego tengo dos botones en otra capa con este otro código:
Código actionscript:
Ver originalon (press) {
_root.avance_inmediato = 1;
_root.cual = 0;
_root.carga_imagen(cual);
}
Con esto consigo ir a una foto determinada, pero ¿como podría decirle que vaya a la foto siguiente o anterior, simplemente?
Espero que me podais ayudar.
Saludos