flash events actionscript mouse actionscript-2

¿Cuál es la diferencia entre los eventos onMouseUp/Down y onPress/Release en Flash?



events actionscript (5)

Encontré esto mientras hago un poco de google de la pregunta:

http://www.gogoat.com/2006/07/27/onpress-vs-onmousedown/

Parece que los eventos mouseUp / mouseDown se dispararán incluso cuando el mouse esté fuera del clip de película, mientras que onPress / Release comprobará automáticamente si el mouse está dentro del clip antes de manipularse. Podría haber jurado que probé para eso, pero solo lo verifiqué, así que no debo haberlo hecho.

En Flash, parece haber dos conjuntos de eventos de clic de mouse:

  • onMouseUp, onMouseDown
  • onPress, onRelease

¿Hay alguna diferencia real entre estos eventos? No puedo decir a partir de la documentación, y no he notado nada en el uso real, pero parece extraño tener dos conjuntos diferentes de nombres para los mismos eventos básicos. ¿Me estoy perdiendo de algo? ¿Hay alguna diferencia entre ellos?

Aclaración: Esto está en código de ActionScript 2, dirigido a Flash 8.


No es un desarrollador de flash, pero en las aplicaciones de Windows normales puede presionar un botón con la barra espaciadora y activarlo con la tecla Intro.

Además, un MouseUp / Down puede ocurrir en cualquier lugar y puede no implicar nada. Una pulsación / liberación en un control específico tiene, por lo tanto, más importancia.


onMouseDown y onMouseUp son eventos generales que cualquier cosa puede escuchar a través de Mouse.addListener (). Se activan sin importar dónde se hace clic con el mouse.

onPress y onRelease son específicos de un MovieClip en particular. Solo se activan si se presiona o suelta el mouse mientras está encima de MovieClip. También es importante onReleaseOutside ... para el caso en que haga clic en un MovieClip, luego arrastre el mouse hacia afuera, luego suelte el mouse. En ese caso, no habrá evento onRelease, solo un evento onReleaseOutside, por lo que si no está escuchando el último, su programa pensará que el botón del mouse se atascó.


onPress y onRelease son retenciones del código AS2, han sido suplantados por onMouseDown y onMouseUp en AS3, sobre los que puede leer en la Guía de migración de AS2 .


Presione / Liberar son eventos de interacción , no eventos de mouse. Si activa un botón o MC con el teclado (al hacer clic y presionar espacio), se disparará un evento de Press pero no un MouseDown. Del mismo modo, si hace clic en un botón desactivado, se activará un evento MouseDown pero no una prensa (ya que no se produce interacción con el botón).