Comunidad de diseño web y desarrollo en internet online

>Problema botón + duplicateMovieClip

Citar            
MensajeEscrito el 04 May 2009 09:16 am
Hola Amigos.
Mi problema es el siguente:
Estoy creando una galería de imágenes, que se cargan vía XML en un MC que luego muevo con Tween.
Cada vez que cargo la miniatura, obtengo el _width para sumarle el espacio que hay entre cada miniatura y posicionarlo
Hasta aquí, perfecto.
Una vez cargadas todas, creo los botones de cada miniatura, con un for, y los posiciono sobre cada miniatura, usando el "posminifotosarray" (array donde he guardado la posición en X de cada miniatura)

El coódigo de la función es:

Código :

creabotonesminis = function () {
   for (i=0; i<cn; i++) {
      n = i+1;
      duplicateMovieClip(_root.mc_portaminis.mc_btn_minigal, "btngal"+i, n+20);
      _root.mc_portaminis["btngal"+i]._y = 20;
      _root.mc_portaminis["btngal"+i]._x = posminifotosarray[i];
      _root.mc_portaminis["btngal"+i]._width = anchominifotosarray[i];
      trace("creabotonesminis "+i+" x="+posminifotosarray[i]+" ancho= "+anchominifotosarray[i]+" URL="+nombrefotos[i]);
      //
      _root.mc_portaminis["btngal"+i].btn_minigal.onRelease = function() {
         trace("boton="+i+" "+nombrefotos[i]);
      };
   }
};


El problema llega cuando no acierto a asignar a cada boton creado la acción a realizar al clacar sobre él. :twisted:
Estoy seguro que tengo un error de planteamiento, pero perdí la objetividad.

Ayudenme a encontrar el camino de las baldosas amarillas!!!

Gracias!!

Por Potorato

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 May 2009 12:07 pm
Bueno, parece que las velas, el incienso y el sacrificio de cabra a surgido efecto.

Gracias a un post de Luistar, del 2005

Código :

creabotonesminis = function () {
   for (i=0; i<cn; i++) {
      //..............................................................................................................
      //duplicamos el mc 'btn' y hacemos referencia a él mediante: 'btn_ref' 
      btn_ref = _root.mc_portaminis.mc_btn_minigal.duplicateMovieClip("btngal"+i, i+200);
      //para manetener la variable i creamos una variable 'nro' en cada mc duplicado
      btn_ref.nro = i;
      //posicionamos cada nuevo mc duplicado justo despues del anterior 
      btn_ref._y = 20;
      btn_ref._x = posminifotosarray[i];
      btn_ref._width = anchominifotosarray[i];
      //acción para cada nuevo mc duplicado 
      btn_ref.onRelease = function() {
         trace(this.nro);
      };


Ahora, cuando se me han generado los botones con el for, cada vez que clico sobre uno de ellos, me devuelve su valor, y no el de el último, como me ocurria antes.

Gracias igualmente. Aquí les dejo pués la solución.

Por Potorato

3 de clabLevel



 

firefox

 

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