Comunidad de diseño web y desarrollo en internet online

DUDA: asignar as a boton dentro de movieclips duplicados

Citar            
MensajeEscrito el 05 Mar 2009 05:36 pm
Hola a todos...a ver si alguien me puede ayudar...se trata de un buscador basado en XML:

En los resultados de la busqueda, un MC es duplicado tantas veces como resultados hay. Dentro de este hay un texttDynamico k muestra un contenido u otro a partir de un XML y un boton que debe dirigirse a un frame u otro dependiendo del XML. El problmea lo tengo al asignar la accion enel boton de cada MC. Siempre me da el mismo resultado (el ultimo)...
¿como puedo especificar que cada boton de cada MC duplicado se dirija a un frame u otro (en funcion del valor devuelto por el XML?

Dificil de explicar...os dejo el script y los archivos funete por aclaraciones.

Codigo:

Código :

DisplayNodes = function(nodes, field_txt){
   var p = 0;
   var entry;
   var frame;
   for (var i=0; i<nodes.length; i++){
      duplicateMovieClip(_root.clip, "clip" + i, i);
      _root["clip"+i]._x = 12;
      _root["clip"+i]._y = _root["clip"+i]._y + p;
      p = p + 60;
      entry = "";
      entry += "<b>" + nodes[i].childNodes[1].firstChild.nodeValue + "</b>";
      entry += "<br>" + search_fields.query_txt.text;
      _root["clip"+i].resultado.htmlText = entry;
      frame = nodes[i].attributes.url;
      _root["clip"+i].clip_btn.onRelease = function(){
         _root.gotoAndStop(frame);
      }
   }
}


Archivo Flash
Archivo Xml

Si alguien me echa un cable me va a alegrar el dia!
Graciasss

Por patata0011

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Mar 2009 07:39 pm
Hola, prueba con esto:

Código ActionScript :

//No usas field_txt, lo quite :P
DisplayNodes = function( nodes:XMLNode ):Void
{
   var entry:String;
   var aux:MovieClip;
   for (var i:Number = 0, p:Number = 0; i < nodes.length; i++, p += 60)
   {
      aux = duplicateMovieClip(_root.clip, "clip" + i, i);
      aux._x = 12;
      aux._y += p;
      entry = "";
      entry += "<b>" + nodes[i].childNodes[1].firstChild.nodeValue + "</b>";
      entry += "<br/>" + search_fields.query_txt.text;
      aux.resultado.htmlText = entry;
      aux.clip_btn.frame = nodes[i].attributes.url;
      aux.clip_btn.onRelease = function( Void )
      {
         //Uso del operador de acceso "this"
         _root.gotoAndStop( this.frame );
      };
   }
}


Suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 06 Mar 2009 08:39 am
Buenos dias!

Primero, quería agradecerte mucho tu post.
Aunque no he utilizado el codigo que me sugeriste, me ha servido un montón para detectar y rectificar mi error.

Por otro lado disculparme de haber repetido el post en otro foro. Creí que no lo había publicado en el lugar más apropiado la primera vez y no caí en borrarlo al pblicarlo en otro...mea culpa! (error de principiante :oops: )

Gracias de nuevo por la ayuda y hasta pronto!

Por patata0011

1 de clabLevel



 

firefox

 

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