Re: [問題]如何讓物件跟著滑鼠動

看板Flash作者 (古)時間17年前 (2008/11/28 07:49), 編輯推噓2(209)
留言11則, 3人參與, 最新討論串3/4 (看更多)
感謝大大的教學 可是我照著大大給的方法操作後 卻遇到一個小問題 那就是新產生的元件一按下去就沒辦法再移動了> <" 我嘗試修改大大給的意見 得到了比較接近我想要的效果 http://www.speedyshare.com/223798770.html 可是現在卻有兩個BUG 1.擊點Resistance_btn時如果滑鼠游移動 那產生的resistance和 滑鼠指標也有所偏差 然後變成滑鼠永遠點不到元件 囧 2.當製造出新的resistance後 舊的resistance就沒辦法移動了 ※ 引述《cjcat2266 (CJ Cat)》之銘言: : 另外宣告一個 currentResistor 來紀錄最新生出來的 Resistance : 然後監聽 stage 丟出來的 MouseEvent.MOUSE_UP 來停止拖曳 : (題外話,你變數宣告最好都有標明type,這樣比較安全) : //新宣告 : var currentResistor:Resistance; : function markResistance(e){ : //省略一些code : //保留住最新生出來的 Resistance 的 reference : currentResistor = resistance; : //監聽stage的MouseEvent.MOUSE_UP : stage.addEventListener(MouseEvent.MOUSE_UP, up); : //開始拖曳 : resistance.startDrag(); : } : function up(e:Event):void { : //取消監聽 : stage.removeEventListener(MouseEvent.MOUSE_UP, up); : //題整拖曳 : currentResistor.stopDrag(); : } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.6.157

11/28 08:32, , 1F
resistance生出來之後把x y 對準 mouseX mouseY
11/28 08:32, 1F

11/28 08:32, , 2F
然後不要 removeEventListener
11/28 08:32, 2F

11/28 14:05, , 3F
原來放開之後的物件還要可以繼續移動?
11/28 14:05, 3F

11/28 14:05, , 4F
不remove listener以外也建議把有效面積改大一點
11/28 14:05, 4F

11/28 14:05, , 5F
不然細細一條好像很難按到
11/28 14:05, 5F

11/28 16:42, , 6F
嗯嗯 我在元件底下加了個透明的方塊
11/28 16:42, 6F

11/28 16:42, , 7F
不過BUG1還是沒辦法解決ˊˋ
11/28 16:42, 7F

11/28 16:43, , 8F
BUG2 我在想利用變數i 給新增的元件命名
11/28 16:43, 8F

11/28 16:45, , 9F
每增一個元件就i+1 然後每個元件都有自己ID 像:xxx1、xxx2
11/28 16:45, 9F

11/28 16:46, , 10F
可是不知道幫新增元件設定ID的方法...
11/28 16:46, 10F

11/28 16:48, , 11F
對了 有人注意到我影片片段上也有語法嗎?囧
11/28 16:48, 11F
文章代碼(AID): #19Bp8MOq (Flash)
文章代碼(AID): #19Bp8MOq (Flash)