Actionscript3.0, Flash

abril 2009

ActionScript 3.0: La propiedad mouseChildren

Una de las trampas que me encontré cunado empecé con Actionscript 3.0 era esta:

-Creaba un MovieClip con un campo de texto dinámico dentro (por ejemplo para el botón de un menú).

-Le añadía un evento de ratón y ponia su propiedad buttonMode como true.

Resultado: no se veía el handCursor (la mano típica al hacer over sobre un botón) cuando ponía el ratón encima.

En aquel momento, para solucionar el inconveniente (estaba haciendo unos cambios delante del cliente), puse un botón transparente dentro del MovieClip, por encima del resto de elementos, de tal manera que al hacer over sobre el clip se hacia over sobre el botón y se mostraba el handCursor. Mas tarde, pude investigar un poco, y descubrí que lo que pasaba era que el campo de texto dentro del clip «interfería» con los eventos de ratón, y por eso no se mostraba «la mano».

Para solucionarlo, podemos utilizar la propiedad mouseChildren de los DisplayObjectContainer, que determina si los elementos secundarios de un objeto están habilitados para ratón. Su valor predeterminado es true.