[問題] startDrag在mouseup後仍有作用

看板Flash作者時間12年前 (2011/08/15 02:24), 編輯推噓0(006)
留言6則, 4人參與, 最新討論串1/1
mouseup有stopdrag(); 然後有限制startdrag的矩形範圍 在mousedown下游標超出mc本身面積範圍,再mouseup 結果mc會跟著游標移 有版友知道怎麼解決這種吸附問題?? Thx code如下,只是很簡單的練習 ===================================== mc.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); mc.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); function mouseDownHandler(e:MouseEvent):void { mc.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); } function mouseUpHandler(e:MouseEvent):void { mc.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); mc.stopDrag(); } function mouseMoveHandler(e):void { var rect:Rectangle = new Rectangle(0, 0, 10,10); mc.startDrag(false, rect); } ※ 編輯: poototo 來自: 180.217.11.39 (08/15 02:29)

08/15 04:42, , 1F
可以試著在stage上加上mouse_up的listener
08/15 04:42, 1F

08/15 04:43, , 2F
負責把這種"非正常操作"的listener給拿掉
08/15 04:43, 2F

08/15 10:15, , 3F
一般來說startDrag都寫在mc上,stopDrag都寫在stage上
08/15 10:15, 3F

08/15 10:15, , 4F
不然常常會有超過範圍放開然後就黏住的情況
08/15 10:15, 4F

08/15 15:23, , 5F
mc上的listener沒有觸發,因為滑鼠放開時不是在mc上
08/15 15:23, 5F

08/16 12:53, , 6F
感激!果然太菜了
08/16 12:53, 6F
文章代碼(AID): #1EI1BV5N (Flash)