那麼我們先來討問一下 數學邏輯的問題
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的語法可以供參考嗎??
- 留言者: 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
移動, 應該怎麼寫呢??
感謝您的技術分享!!
- 留言者: 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
沒有留言:
張貼留言