Re: [問題] 物件稍微跟著滑鼠移動

看板Flash作者 (CJ Cat)時間17年前 (2008/12/15 21:48), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串2/3 (看更多)

12/15 20:55,
中心點 + factor * (目標物 - 中心點)
12/15 20:55

12/15 20:55,
factor介於0和1之間
12/15 20:55

12/15 20:57,
如果你是要慢慢飄過去,就把以上算式設為X
12/15 20:57

12/15 20:58,
然後 位置 += chaseFactor * (X - 位置)
12/15 20:58

12/15 20:58,
chaseFactor同樣界於0和1之間
12/15 20:58
假如我場景上面有一個物件叫做box_mc 然後場景尺寸是640X400 //中心點 var centerX:Number = 320; var centerY:Number = 200; //部分偏移程度,越靠近1表示最終位置越接近滑鼠位置 var posFactor:Number = 0.5; //逼近速度,越靠近1表示逼近速度越快,1表示瞬間移動至定點 var chaseFactor:Number = 0.2; //持續呼叫的主迴圈 addEventListener(Event.ENTER_FRAME, loop); function loop(e:Event):void { //計算目標座標 var targetX:Number = centerX + posFactor * (mouseX - centerX); var targetY:Number = centerY + posFactor * (mouseY - centerY); //使用chaseFactor去慢慢逼近 box_mc.x += chaseFactor * (targetX - box_mc.x); box_mc.y += chaseFactor * (targetY - box_mc.y); } 以上code寫法為方便理解原理 真正要增進效能與節省記憶體的話可以自行簡化 -- CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓 Blog http://cjcat.blogspot.com Gallery http://cjcat2266.deviantart.com ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.88.104

12/15 22:14, , 1F
非常謝謝你!!
12/15 22:14, 1F

12/15 22:17, , 2F
但在第12行 出現錯誤顯示無法載入類別'Event'是為什麼呢
12/15 22:17, 2F

12/15 22:21, , 3F
看來你是用AS2,那我等等回文
12/15 22:21, 3F
文章代碼(AID): #19Hc19Rs (Flash)
文章代碼(AID): #19Hc19Rs (Flash)