Comunidad de diseño web y desarrollo en internet online

Flash Random XML

Citar            
MensajeEscrito el 14 May 2009 02:31 pm
Buenas, tengo generado un banner en flash, que toma datos desde un xml e imagenes desde una subcarpeta.
El problema, esta en que me repite en el random los mismos datos, es decir... puede tomar la foto 2, despues la 5, despues la 12 de nuevo, despues la 2 de nuevo, la 5, la 3.... y asi.

La idea es que haga random, pero los que ya mostró, no los vuelva a mostrar.
Es un problema que heredé en el laburo y soy diseñador, no programador, y se me complica a pesar de buscar y buscar en foros y tutoriales.

Acá pego el codigo del action en flash

Código :

tiempo = 10;
nombre._alpha = 0;
frase._alpha = 0;
profesion._alpha = 0;
foto._alpha = 0;
/*new mx.transitions.Tween(nombre, "_alpha", mx.transitions.easing.Back.easeInOut, 0, 100, 10);
new mx.transitions.Tween(profesion, "_alpha", mx.transitions.easing.Back.easeInOut, 0, 100, 20);
new mx.transitions.Tween(frase, "_alpha", mx.transitions.easing.Back.easeInOut, 0, 100, 30);*/
_global.cargar = function() {
   new mx.transitions.Tween(nombre, "_alpha", mx.transitions.easing.Back.easeInOut, nombre._alpha, 0, 10);
   new mx.transitions.Tween(profesion, "_alpha", mx.transitions.easing.Back.easeInOut, profesion._alpha, 0, 20);
   el_mas_lento = new mx.transitions.Tween(frase, "_alpha", mx.transitions.easing.Back.easeInOut, frase._alpha, 0, 30);
   new mx.transitions.Tween(foto, "_alpha", mx.transitions.easing.Back.easeInOut, foto._alpha, 0, 35);
   el_mas_lento.onMotionFinished = function() {
      new mx.transitions.Tween(nombre, "_alpha", mx.transitions.easing.Back.easeInOut, nombre._alpha, 100, 10);
      new mx.transitions.Tween(profesion, "_alpha", mx.transitions.easing.Back.easeInOut, profesion._alpha, 100, 20);
      el_mas_lento = new mx.transitions.Tween(frase, "_alpha", mx.transitions.easing.Back.easeInOut, frase._alpha, 100, 30);
      xmm = new XML();
      xmm.ignoreWhite = 1;
      //
      xmm.load('../img/testimonios/clientes.xml');
      xmm.onLoad = function() {
         gene = random(xmm.firstChild.attributes.cantidad);
         trace(gene);
         nombre.nombre.text = xmm.firstChild.childNodes[gene].childNodes[0].firstChild;
         frase.frase.text = '"'+xmm.firstChild.childNodes[gene].childNodes[2].firstChild+'"';
         profesion.profesion.text = xmm.firstChild.childNodes[gene].childNodes[1].firstChild;
         foto.loader.unloadMovie();
         new mx.transitions.Tween(foto, "_alpha", mx.transitions.easing.Back.easeInOut, foto._alpha, 100, 35);
         //foto._rotation = -20;
         //new mx.transitions.Tween(foto, "_rotation", mx.transitions.easing.Back.easeInOut, foto._rotation, random(5)-3, 20);
         foto.loader.loadMovie('../img/testimonios/'+xmm.firstChild.childNodes[gene].childNodes[4].firstChild, 0);
         foto.loaderB.loadMovie('../img/testimonios/banderas/'+xmm.firstChild.childNodes[gene].childNodes[5].firstChild+".jpg", 0);
         link.onPress = function() {
            getURL("../testimonios/ver_testimonio.asp?Id=" + +xmm.firstChild.childNodes[gene].childNodes[3].firstChild, "")
         };
      };
   };
};
cargar();
cambiarlo = function () {
   clearInterval(ererer);
   ererer = setInterval(cargar, tiempo*1000);
};
cambiarlo();


y el XML que está llamando

Código :

<main cantidad="9">
   <sec>
      <nombre>Elvia Durán</nombre>
      <profesion>Periodista Audiovisual</profesion>
      <frase>Lo más bonito de Australia es su gente. Es un pueblo noble, alegre y Multicultural. Es el lugar perfecto para emigrar</frase>
      <link>50</link>
      <foto>elviaDuran.jpg</foto>
      <pais>venezuela</pais>
   </sec>
   <sec>
      <nombre>Adrián Lescano</nombre>
      <profesion>Contador Público</profesion>
      <frase>Casi que el trabajo nos busca a nosotros, porque yo tarde cuatro días en encontrar trabajo acá.</frase>      
      <link>20</link>
      <foto>adrian_lescano.jpg</foto>
      <pais>argentina</pais>
   </sec>
   <sec>
      <nombre>Álvaro Navarro</nombre>
      <profesion>IT/Publicidad</profesion>
      <frase>En resumen, si desea cambiar su estilo de vida, Australia es una excelente opción para mejorar en muchos aspectos</frase>
      <link>45</link>
      <foto>alvaroNavarro.jpg</foto>
      <pais>colombia</pais>
   </sec>
   <sec>
      <nombre>Miguel Angel Rodríguez</nombre>
      <profesion>Ingeniero de Software</profesion>
      <frase>El proceso de integrarnos ha sido un verdadero placer. La sociedad da la bienvenida a los inmigrantes.</frase>
      <link>18</link>
      <foto>maRodriguez.jpg</foto>
      <pais>mexico</pais>
   </sec>
   <sec>
      <nombre>Ana María Castellanos Araujo</nombre>
      <profesion>Contadora</profesion>
      <frase>En Australia trabajas para vivir, no vives para trabajar.</frase>
      <link>63</link>
      <foto>castellanos_araujo.jpg</foto>
      <pais>venezuela</pais>
   </sec>   
   <sec>
      <nombre>Pablo Uribe Gómez</nombre>
      <profesion>Ingeniero Electricista</profesion>
      <frase>En Australia se puede caminar tranquilamente en la calle con la seguridad de que nada va a pasar</frase>
      <link>130</link>
      <foto>pabloUribe.jpg</foto>
      <pais>colombia</pais>
   </sec>   
   <sec>
      <nombre>Alex Quezada Arellano</nombre>
      <profesion>Ingeniero Comercial</profesion>
      <frase>Creo que a ojos cerrados podría recomendar mi experiencia con Viva en Australia.</frase>
      <link>87</link>
      <foto>alexQuezada.jpg</foto>
      <pais>chile</pais>
   </sec>
   <sec>
      <nombre>Roberto García Santander</nombre>
      <profesion>Arquitecto</profesion>
      <frase>El clima en Adelaide es muy bueno durante todo el año.</frase>
      <link>67</link>
      <foto>robertoGarcia.jpg</foto>
      <pais>peru</pais>
   </sec>
   <sec>
      <nombre>Fernando Hernández</nombre>
      <profesion>Diseñador Gráfico</profesion>
      <frase>Todo lo que nos rodea es maravilloso, vivimos en el paraíso</frase>
      <link>122</link>
      <foto>fernandoHernandez.jpg</foto>
      <pais>venezuela</pais>
   </sec>
</main>


Muchas Gracias por su ayuda!!

Por hernan11

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 May 2009 07:01 pm
Lo que se me ocurre es que en el xml pongas un id que te enumere cada registro o que compares con un campo que distinga de cada registro como por ejemplo <link>, para que en AC2 puedas compara con un if y hasta que te pase todos reinicie la cuenta, no se si me explico esto lo puedes hacer con la ayuda de un arreglo.

Espero te sirva la idea...

Por IronBenjas

7 de clabLevel



 

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.