2011-10-08 118 views
1

我正在使用下面的代碼在舞臺上拖動一個對象。我正在使用矩形將對象的移動限制在x軸上。當它位於對象之外時,我需要鼠標停止拖動。按鈕模式關閉,但當鼠標按下鼠標按鈕時,鼠標仍在拖動對象。這裏是我使用的代碼:Flash actionscript 3鼠標移出

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

你可以檢測鼠標是否爲矩形內,如果不是,你可以打電話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,該停止的阻力。

+0

我收到以下消息「1061:通過靜態類型flash.geom:Rectangle引用可能未定義的方法addEventListener。 –

+0

@Brian Berry您可以將矩形添加到空的動畫片段然後引用它。更新了我的答案。 – brenjt