看板 Flash 關於我們 聯絡資訊
cjcat2266:中心點 + factor * (目標物 - 中心點) 12/15 20:55
cjcat2266:factor介於0和1之間 12/15 20:55
cjcat2266:如果你是要慢慢飄過去,就把以上算式設為X 12/15 20:57
cjcat2266:然後 位置 += chaseFactor * (X - 位置) 12/15 20:58
cjcat2266: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
cheerme:非常謝謝你!! 12/15 22:14
cheerme:但在第12行 出現錯誤顯示無法載入類別'Event'是為什麼呢 12/15 22:17
cjcat2266:看來你是用AS2,那我等等回文 12/15 22:21