ほとんどの場合にうまく機能するカスタマイズされたドラッグ イベントがあります。
stage.addEventListener( MouseEvent.MOUSE_DOWN, beginDrag );
function beginDrag( e:MouseEvent )
{
stage.addEventListener( MouseEvent.MOUSE_MOVE, drag );
stage.addEventListener( MouseEvent.MOUSE_UP, endDrag );
stage.addEventListener( MouseEvent.DEACTIVATE, endDrag );
stage.addEventListener( Event.MOUSE_LEAVE, endDrag );
stage.addEventListener( Event.REMOVED_FROM_STAGE, stageEndDrag );
//trigger beginDrag event
}
function drag( e:MouseEvent )
{
//trigger drag event
}
function endDrag( e:Event )
{
stage.removeEventListener( MouseEvent.MOUSE_MOVE, drag );
stage.removeEventListener( MouseEvent.MOUSE_UP, endDrag );
stage.removeEventListener( MouseEvent.DEACTIVATE, endDrag );
stage.removeEventListener( Event.MOUSE_LEAVE, endDrag );
stage.removeEventListener( Event.REMOVED_FROM_STAGE, stageEndDrag );
//trigger endDrag event
}
問題は、このコードを使用すると、wmode=transparent
またはステージ外でイベントが発生したときにイベントがwmode=opaque
検出MOUSE_LEAVE
されないことです。MOUSE_UP
MOUSE_LEAVE
または のときにイベントを検出する方法はありwmode
ますtransparent
かopaque
?
また
回避策を実装できるようにwmode
設定されていることを検出する方法はありますtransparent
か?opaque