Actionscript - 物件跟隨滑鼠移動

物件跟隨滑鼠移動
那麼我們先來討問一下 數學邏輯的問題

1.首先假設 滑鼠移動 右下角  物件要跟隨滑鼠到右下角


在數學上的意義是:


  物件的座標  要與  滑鼠的座標 相同  ,物件才有可能移到滑鼠的位置
  不管是那一個方位
我們只重視座標


2.物件要移動到跟滑鼠一樣座標  就是算出其 x 與 y的差距

  你的滑鼠與 物件在 x方向 跟
y方向到底差了多少距離

  就是我們要移動的距離

  但實際上我們是 平移 或是垂直移動嗎 ? 都不是 ,我們是隨著滑鼠

直線移動過去

  相信你學過 物理 要算出斜邊 需要藉由 x 與 y方向同時組合
  產生一組方向量
當然了對flash來說 不用顧慮那麼多
  管它的 反正就是把 _x _y 量給它就是了


3. 
(_xmouse-ball._x) x的差距  與 (_ymouse-ball._y) y的差距

//請畫一個球 命名為ball
onEnterFrame=function(){
ball._x+=(_xmouse-ball._x);
ball._y+=(_ymouse-ball._y);
}


上的式子為as2.0原式, 意思就是 滑鼠到那 球就跟到那
因為 球跟滑鼠的變動量一算出變量 就把變量直接給球 造成球粘著滑鼠


們希望 漸漸的靠近 (漸漸的意思就是慢慢靠近 越來越慢)

因此我們把 (_xmouse-ball._x)每一次得到的距離都
除以某一個數
假設是4  , (_xmouse-ball._x)/4  讓每一次都以距離的1/4前進做累加

onEnterFrame=function(){
ball._x+=(_xmouse-ball._x)/4;
ball._y+=(_ymouse-ball._y)/4;
}


有任何問題歡迎來信與我討論

  • 留言者: Rolfuson
  • Email:
  • 網址:
  • 日期: 2010-11-18 00:14:34
您好~

這個方法我知道...

但是遇到這個情況:

http://rolfuson.why3s.cc/askHow.htm

的時候不知道也適不適用...

原因是因為在 xscale 和 yscale 調整時

x 和 y 的座標會變

這樣就不能定位了...




  • 留言者: Wei
  • Email:
  • 網址:
  • 日期: 2010-12-01 11:19:11
我想用3.0做出物件跟隨滑鼠移動的效果

請問有3.0的語法可以供參考嗎??




  • 留言者: Wei
  • Email:
  • 網址:
  • 日期: 2010-12-07 14:14:15
哈囉~不好意思又來打擾了..

我把語法修改後變成以下:



Stage.addEventListener(EVENT.ENTER_FRAME,

MouseMove){

ball.x+=(mouseX-ball.x)/4;

ball.y+=(mouseY-ball.y)/4;

}



結果還是有小錯誤..

不知道是不是我誤解板大的意思?!




  • 留言者: SHIRO
  • Email:
  • 網址: http://blog.xuite.net/jpshiro/way
  • 日期: 2010-12-08 19:36:31
您好~~請教一下, 如果想要當它x移動到某個值的時候就不再繼續

移動, 應該怎麼寫呢??

感謝您的技術分享!!




  • 留言者: Wei
  • Email:
  • 網址:
  • 日期: 2010-12-16 18:35:41
非常感謝大大!

已經能夠動了!!!



沒錯~對於語法感覺好像似懂非懂的學習著...

我會多讓自己磨練磨練!

感謝大大賜教XD




  • 留言者: versus11qq
  • Email: qjgkkj@yahoo.com.tw
  • 網址:
  • 日期: 2010-12-31 09:21:51
謝謝,受教嘍。

HI, 來你這逛逛喔,歡迎來我家參觀喔!醉愛名牌-名牌網購介紹~我的部落格是http://tw.myblog.yahoo.com/qwwopp-365289 歡迎參觀



gd

沒有留言:

張貼留言