我使用以下代码在舞台上拖动对象。我使用矩形来限制对象到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
答案 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
,从而停止拖动。