Flash actionscript 3鼠标移出

时间:2011-10-08 13:41:35

标签: actionscript-3

我使用以下代码在舞台上拖动对象。我使用矩形来限制对象到x轴的移动。当鼠标在对象外面时,我需要鼠标停止拖动。按钮模式关闭但鼠标按下鼠标时鼠标仍然拖动对象。这是我正在使用的代码:

var rectangle:Rectangle = new Rectangle(-1400, 600, 4500, 0);

stage.addEventListener(MouseEvent.MOUSE_DOWN,mouseStartDrag);
function mouseStartDrag(motion:MouseEvent):void
{
    strip_mc.startDrag(false, rectangle);
}

stage.addEventListener(MouseEvent.MOUSE_UP, mouseStopDrag);
function mouseStopDrag(motion:MouseEvent):void 
{
    strip_mc.stopDrag();
}
strip_mc.buttonMode = true; 

Thanks for any help 

1 个答案:

答案 0 :(得分:0)

你可以检测到鼠标是否在矩形内部,如果不是,你可以调用strip_mc.stopDrag();

首先创建一个空的动画片段并将矩形添加到其中。

var m:MovieClip = new MovieClip(); 
m.addChild(rectangle);
stage.addChild(m);

然后执行以下操作:

m.addEventListener(MouseEvent.MOUSE_OUT, mouseStopDrag);

m.addEventListener(MouseEvent.ROLL_OUT, mouseStopDrag);

然后,事件监听器将调用已创建的mouseStopDrag,从而停止拖动。