推 etrexetrex:stage.addEventListener(MouseEvent.MOUSE_UP, ...); 04/28 17:34
如果有一個拉拔,必須再限定的範圍內拖曳,
使用者難免會把滑鼠移開那個拖曳紐才放開,
所以在AS2.0的時候,放開滑鼠會用
xbt.onRelease = xbt.onReleaseOutside = function()
{ stopDrag();
}
換到AS3.0的時候,改用MouseEvent.MOUSE_UP,
理論上,似乎是不論在任何地方放開滑鼠,就要停止拖曳,所以程式碼如下。
var boundsRect:Rectangle = new Rectangle(bar.x, bar.y, bar.width, 0);
xbt.addEventListener(MouseEvent.MOUSE_DOWN,xbtOnMouseDown);
addEventListener(MouseEvent.MOUSE_UP, xbtOnMouseUp);
function xbtOnMouseDown(evt:MouseEvent):void {
xbt.startDrag(true,boundsRect);
}
function xbtOnMouseUp(evt:MouseEvent):void {
xbt.stopDrag();
}
但是這樣寫,似乎沒辦法取代onReleaseOutside功能,
常常放開滑鼠還是沒有執行stopDrag();
請問有什麼方法可以解決嗎??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.220.146.75