Comunidad de diseño web y desarrollo en internet online

Problema con Array en Evento mouseOver y Out

Citar            
MensajeEscrito el 18 Ago 2011 04:21 pm
Hola que tal, espero alguien me pueda ayudar con esto.

Tengo unos botones dinámicos y todo funciona bien hasta que tengo que hacer el MouseOver y el MouseOut, ya que me da un error, e intentado varias cosas y no logro entender porque este problema. ya que con el CLICK funciona perfectamente...

Código ActionScript :

var links =   ["aqui estoy colocando todos los links //QUE FUNCIONAN BIEN"];
         
      public function Botonera() 
      {
         var botHome:MovieClip = new botDHome();
         var botNosotros:MovieClip = new botDNosotros();
         var botProdserv:MovieClip = new botDProdserv();
         var botOtros:MovieClip = new botDOtros();
         var botContacto:MovieClip = new botDContacto();
         
         //var botFondo:MovieClip = new movEmpty();
         
         var fondos = [botHome, botNosotros, botProdserv, botOtros, botContacto];
         
         var etiquetas = ["Home", "Nosotros", "Productos y Servicios", "Otros", "Contacto" ];
         
         var nX = 193;
         var nY = 4;
         
         for ( var i = 0; i < etiquetas.length; i++) {
            var miBoton:MovieClip = new Boton();
            addChild( miBoton );
            miBoton.txtEtiqueta.autoSize = "left";
            miBoton.txtEtiqueta.text = etiquetas[i];
            //fondos[i].alpha = 0;
            miBoton.addChildAt(fondos[i], 0);
            miBoton.txtEtiqueta.x = ( (fondos[i]).width - miBoton.txtEtiqueta.width ) / 2;
            miBoton.txtEtiqueta.y = ( (fondos[i]).height - miBoton.txtEtiqueta.height ) / 2;
            miBoton.alpha = 0;
            miBoton.enlace = links[i];
            miBoton.buttonMode = true;
            miBoton.mouseChildren = false;
            miBoton.x = nX;
            miBoton.y = nY;
            nX += miBoton.width + 2;
            
            TweenMax.to( miBoton, 0.5, { alpha: 1, delay: i * 0.4 } );
            
            miBoton.addEventListener( MouseEvent.ROLL_OVER, button_over );
            miBoton.addEventListener( MouseEvent.ROLL_OUT, button_out );
            miBoton.addEventListener( MouseEvent.CLICK, button_click );
         }
         
      }
      
      function button_over(evento) { //ES AQUI EL PROBLEMA
         TweenMax.to(evento.target.miBoton, 0.5, { alpha: 1, ease: Strong.easeInOut } );
      }
      
      function button_out(evento) { //ES AQUI EL PROBLEMA
         TweenMax.to(evento.target.miBoton, 0.8, { alpha: 0, ease: Strong.easeInOut } );
      }
      
      function button_click(e:MouseEvent):void {
         var request:URLRequest = new URLRequest(e.target.enlace);
         try {
         navigateToURL(request, '_self');
         } catch (e:Error) {
         trace("Error occurred!");
         }
         
      }   
      
   }

}

Por O5kr

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Ago 2011 04:49 pm
¿Que error?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Ago 2011 04:53 pm
Gracias Jorge por contestar!

el error que me da es el siguiente:

TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.

El problema es que desde la funcion tanto del evento del mouse over como el mouse out, no esta accediendo al boton... pero no logro comprender porque... :-S

Por O5kr

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Ago 2011 06:00 pm
Sería

TweenMax.to(evento.target, 0.5, { .....

Lo mismo para el otro. el target ya representa a miBoton

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Ago 2011 07:04 pm

solisarg escribió:

Sería

TweenMax.to(evento.target, 0.5, { .....

Lo mismo para el otro. el target ya representa a miBoton

Jorge


Excelente Jorge Muchisimas gracias!!, funciono perfectamente pero me pasa que desde el evento no puedo entrar al array que en este caso es el fondo de los botones, como podria hacer en ese caso porque la verdad es uqe lo que necesito modificar es algo que esta dentro del boton y no todo el boton.

Por O5kr

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Ago 2011 08:13 pm
Eso es un tema de ámbito de las variables. Declara el array fuera de cualquier función y estará disponible en cualquier función de esa línea de tiempo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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