Cómo dejar de evento de ratón Hacia fuera en la flexión de la lona de la cocción de elementos secundarios

StackOverflow https://stackoverflow.com/questions/557028

Pregunta

Estoy utilizando un itemRenderer lona para un recipiente que utilizo para mostrar imágenes. Ver pseudo código a continuación.

image = new Image();
image.source = data.@thumb;
this.addChild(image);
this.addEventListener(MouseEvent.MOUSE_OVER, enlarge(image));
this.addEventListener(MouseEvent.MOUSE_OUT, shrink(image)); 

Cuando ratón sobre el lienzo, la función se llama Ampliar. Sin embargo, tan pronto como me muevo el ratón sobre la imagen, u otro elemento secundario, el evento se dispara MOUSE_OUT.

Puede alguien me punto en la dirección de una manera de desactivar este comportamiento?

Gracias:)

¿Fue útil?

Solución

Debe utilizar MouseEvent.ROLL_OVER y MouseEvent.ROLL_OUT eventos en su lugar.

A partir de la documentación de Flash CS4:

  

Cuando el ratón entra en el área de un objeto de visualización o en el área de cualquiera de sus niños de un objeto que no es uno de sus hijos, el objeto de visualización distribuye el evento rollOver. Este comportamiento es diferente que la del evento mouseOver, que se distribuye cada vez que el ratón entra en el área de cualquier objeto secundario del contenedor objeto de visualización, incluso si el ratón ya estaba sobre otro objeto secundario del contenedor objeto de visualización.

Otros consejos

Estoy de acuerdo con Josh que los eventos ROLL_OVER parecen más apropiadas para lo que está haciendo. Sin embargo, debe ser consciente de la mouseChildren propiedad de flash.display.DisplayObjectContainer (un antepasado de UIComponent).

Despliegue funciona para mí. Sobre el problema ComboBox: También puede comprobar si el objetivo del evento es un niño desde el contenedor.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top