看板 Flash 關於我們 聯絡資訊
如果有一個拉拔,必須再限定的範圍內拖曳, 使用者難免會把滑鼠移開那個拖曳紐才放開, 所以在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
etrexetrex:stage.addEventListener(MouseEvent.MOUSE_UP, ...); 04/28 17:34