ActionScript отслеживает onmouseup вне сцены, возможно?

Итак, я работаю над кнопкой, которая воспроизводит звук при нажатии или "mousedown" и прекращает воспроизведение при отпускании кнопки мыши. Событие mouseup устанавливается для объекта сцены.

Таким образом, проблема в том, что когда курсор перетаскивается за пределы флеш-ролика, а затем отпускается, звук не прекращается, поскольку onmouseup больше не регистрируется. Таким образом, есть ли способ обнаружить события mouseup или координаты мыши за пределами самого объекта stage / flash с помощью ActionScript?


person user3274901    schedule 22.03.2014    source источник


Ответы (1)


http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Stage.html#event:mouseLeave.

Добавьте Event.MOUSE_LEAVE слушателя в сцену. Это событие запускается двумя способами:

  • Кнопка мыши уже отпущена и покидает сцену
  • Кнопка мыши нажата и покидает рабочую область, затем кнопка мыши отпускается.

Если ваша кнопка мыши нажата и вы покидаете сцену, она не срабатывает. Пример причины: вы начинаете перетаскивать MovieClip и уходите со сцены, когда вы возвращаетесь в рабочую область, вы, естественно, ожидаете, что все еще будете перетаскивать.

person TreeTree    schedule 23.03.2014
comment
Вы имеете в виду, что MOUSE_LEAVE срабатывает вне сцены, только если кнопка мыши отпущена, а не при постоянном нажатии? - person user3274901; 23.03.2014
comment
неважно, спасибо за ответ, я просто протестирую это событие и посмотрю, решит ли оно проблему. - person user3274901; 23.03.2014
comment
Если ваша мышь находится за пределами сцены, а ваша мышь опущена, она не сработает. Иначе будет. - person TreeTree; 23.03.2014