Внутри вашего обработчика OnMouseDown
вы можете добавить следующее, чтобы получить желаемое событие MouseEvent.MOUSE_UP
:
private function OnMouseDown(e:MouseEvent):void
{
stage.addEventListener(MouseEvent.MOUSE_UP, onStageMouseUp);
}
private function onStageMouseUp(e:MouseEvent):void
{
stage.removeEventListener(MouseEvent.MOUSE_UP, onStageMouseUp);
// handle mouse up here
}
Конечно, это означает, что вам придется проделать дополнительную работу, чтобы убедиться, что обработчики добавляются / удаляются соответствующим образом. Вы также можете кэшировать ссылку на целевую кнопку в вашем обработчике OnMouseDown
в случае, если сценарий, который вы описываете, происходит, и вам все равно нужно знать, какая кнопка была нажата (при условии, что ваши обработчики находятся вне области действия самой кнопки).