Comunidad de diseño web y desarrollo en internet online

Extraño comportamiento con movieclip y los eventos del ratón

Citar            
MensajeEscrito el 04 Oct 2010 05:12 pm
Hola a todos. Tengo un problema un poco extraño, que a continuación paso a detallar:

Utilizo el MouseEvent.MOUSE_OVER, MouseEvent.MOUSE_OUT y MouseEvent.CLICK, para hacer que cuando el ratón pase por una caja que tengo definida en la pantalla me aparezcan otros elementos.

El problema es que esa caja está compuesta de campos de texto y un botón. Cada vez que el cursor pasa por ellos (sin salir de la caja) los elementos relacionados parpadean. Es como si por un momento dejara de estar vigente el evento OVER ¿Sabeis qué puede estar pasando y cómo puedo arreglarlo?

Tengo que aclarar que todos esos elementos forman parte de una clase propia que hereda de la clase Movieclip, por lo que , en principio, esto no debería pasar.

Si necesitan más datos para concretar mi duda, solo tiene que pedírmelo.

Muchas gracias de antemano.

Un saludo,

Angélica.

Por angie_dj

13 de clabLevel



Genero:Femenino  

msie8
Citar            
MensajeEscrito el 04 Oct 2010 05:39 pm
Si mal no creo tu problema es que tienes que quitarle el mouseEnabled a los textFields para que dejen de interactuar con el mouse. Saludos.

Por Gz.Francisco

378 de clabLevel



Genero:Masculino  

Programador economista y buzo

chrome
Citar            
MensajeEscrito el 05 Oct 2010 01:09 pm
Hola, muchas gracias, pero ¿Y el botón? no puedo deshabilitarle la sensibilidad al ratón, y se ve veo que cuando paso por encima del ratón, me parpadee esos otros elementos... ¿Tienen alguna otra idea?

Un saludo y muchas gracias :)

Por angie_dj

13 de clabLevel



Genero:Femenino  

msie8
Citar            
MensajeEscrito el 17 Oct 2010 01:42 am
Otra opción sería meter los textos dentro del botón y aplicarle al movieclip:

Código ActionScript :

[as]mc.mouseChildren = false;[/as]

asi no interferirán los textos con el botón, que es lo que te sucede.
El botón tiene los 3 estados pero el texto no tiene ninguno así que cuando el puntero toca el texto ya no estás tocando el botón (MOUSE_OUT).
con el mouseChildren al boton te evitas el hacerlo en todos los campos de texto uno por uno y el botón sigue perfectamente funcional.

Por malcomcc

39 de clabLevel



Genero:Masculino  

Desarrollador Web/Multiplataforma/Gráfico

firefox
Citar            
MensajeEscrito el 18 Oct 2010 09:39 am
Hola a todos y muchas gracias por las respuestas.

Creo que no me he explicado bien la situación que tengo ahora mismo. Aquí les pongo un esquema para que quede más claro:



Cuando paso el cursor por encima del movieclip azul, tiene que aparecer el naranja. Pero cuando pasa por encima del texto o del botón que está en la esquina, es cuando parpadea el movieclip externo.

Todo forma parte de una clase.

No puedo desactivar los eventos del ratón al botón, porque necesito que pasen cosas cuando se haga click sobre él. Incluso me gustaría evitar desactivarle los eventos al texto, pero si no hay más remedio, lo haría en última instancia.

Les agradecería muchísimo que me dieran alguna respuesta, tanto si creen que es posible conseguir lo que pretendo, como si piensan que no, para hacerme a la idea.

Un saludo.

Por angie_dj

13 de clabLevel



Genero:Femenino  

msie8
Citar            
MensajeEscrito el 18 Oct 2010 10:20 am
Angie_DJ, te ayudaría muchísimo entender el funcionamiento exacto de un evento dentro de AS3 (Más conocido como Event-Flow).

Básicamente tienes 3 instancias que no recuerdo sus nombre técnicos. Pero básicamente son:


  • AS3 informa que empieza su "recorrido", en este ciclo aún no llega al target
  • AS3 informa al target que ha ocurrido el evento
  • AS3 informa que ha terminado su recorrido


Si sabes esto, puedes usar e.target, e.currentTarget, e.preventDefault, e.stopPropagation() y e.eventPhase, para controlar exactamente los botones que tengas. Para eso debes saber que necesitas más parametros:

Código ActionScript :

myBTN.addEventListener(MouseEvent.CONSTANT,FUNCTION,USE_CAPTION,PRIORITY,BUBLING);


Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 18 Oct 2010 10:24 am
Mmmm... estudiaré eso que me comentas, Hernán. ¡Muchas gracias!

Si alguien tiene alguna infoque me pueda ayudar o solución a mi problema , soy toda ojos :D

¡Un saludo!

Por angie_dj

13 de clabLevel



Genero:Femenino  

msie8
Citar            
MensajeEscrito el 18 Oct 2010 01:27 pm
BuenAS:

Utiliza ROLL_OVER/ROLL_OUT en lugar de MOUSE_OVER/MOUSE_OUT. Con los primeros sólo se distribuye el evento cuando abandonas/entras en el movieclip, con los segundos se distribuye cada vez que el ratón deja de estar directamente sobre el movieClip (en tu caso, cuando pasas por el texto o el botón).

Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 18 Oct 2010 01:37 pm
¡¡Muchas gracias, Lukánicos!! Lo probaré!!!

Un saludo a todos :)

Por angie_dj

13 de clabLevel



Genero:Femenino  

msie8
Citar            
MensajeEscrito el 18 Oct 2010 03:28 pm
Pues efectivamente se soluciona cambiando los eventos de MOUSE_OVER/MOUSE_OUT por ROLL_OVER/ROLL_OUT.

Muchísimas gracias Lukánicos por terminar con uno de mis múltiples quebraderos de cabeza.

Y al resto que ha participado, también.

Un saludo.

Por angie_dj

13 de clabLevel



Genero:Femenino  

msie8

 

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