Hola gracias por contestar tan rapido, soy muy nuevo en esto pero se lo basico para xml, se hacer el archivo xml y hacer cargar en un solo contenedor, osea que puedo hacer que mi galeria se vea sin problemas en mi flash pero solo en un contenedor, lo que yo deseo es que cargue en varios contenedores. Necesito saber como declarar varios obejetos que lean mis diferentes nodos del xml, que lean especificamente una parte de la lista.
este es mi xml
<galeria>
<imagen direccion="imagenescuadro1/imagen1.png" duracion="5" /> <imagen direccion="imagenescuadro1/imagen2.png" duracion="5" /> <imagen direccion="imagenescuadro1/imagen3.png" duracion="5" /> <imagen direccion="imagenescuadro1/imagen4.png" duracion="5" /> <imagen direccion="imagenescuadro1/imagen5.png" duracion="5" /> <imagen direccion="imagenescuadro1/imagen6.png" duracion="5" /> <imagen direccion="imagenescuadro1/imagen7.png" duracion="5" /> <imagen direccion="imagenescuadro1/imagen8.png" duracion="5" />
</galeria>
y este es mi scrip
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; } }
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) { 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); } }
function siguiente_imagen() { if (cual == undefined) { cual = 0; } else { cual++; } if (cual == nodo_galeria.length) { cual = 0; } muestra_imagen(cual); }
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("imagenescuadro1.xml");
stop();
Esto hace que me cargue sin ningun problema en los dos contenedores para que se haga la transicion y el paso las imagenes, pero ahora lo que necesito es tener otros dos contenedores en la misma pelicula principal que carguen de igual forma o carguen otro xml.... que puedo hacer.... Gracias.
|
Por elotro
Envíale un mensaje privado Email
|