Actionscript - 角度計算

角度的問題 在設計遊戲時 , 時常會用到以下情況:

1. 你的物件面朝向 滑鼠改變 而旋轉 物件角度.
2. 你的角色被敵人追著跑時 , 敵人的面向角色問題
3. 人物被日光照射的陰影,影子


如果你可以得知 一物件角度,很多事情都可以解決, 但許多時候 即使你可以決定角度 ,
你也無法決定到底要轉幾度,因為這不再是單一物件的事, 是兩物件之間的事

就如同以上例子: 敵人面向角色的問題存在


想知道 物件該旋轉幾度, 首先必要條件 , 兩物件X與Y距離 需得知.
在利用三角函數反正切餘弦求出弧度 , 許多人念高中時不知道三角函數是做什麼,
如果此時的你正在設計遊戲 ,你就會開始懷念當初高中應該認真上數學課


一個完整的圓的弧度是2π,所以2π rad = 360°,1 π rad = 180°(約57.29578°),1°=π/180
rad。以度數表示的角度,把數字乘以π/180便轉換成弧度;以弧度表示的角度,乘以180/π便轉換成度數。


角度 = 弧度 x  180/π ; //如此一來便可以計算物件旋轉角度

但 弧度是怎麼來的呢

以下是 atan2 半角公式:
<dl><dd> \operatorname{atan2} (y, x)=2 \arctan <br />\frac{y}{\sqrt{x^2+y^2}+x}.
</dd><dt>利用 arctan 計算 , 所以 tan 當然要搞清楚

</dt></dl>但在 flash 中, 你大可不必這麼麻煩 , 只要利用 Math.atan2(); 即可算出弧度

var angle:Number = Math.atan2(兩物件Y距,兩物件X距)*180/(Math.PI);
//如此便可以輕鬆算出 物件該旋轉幾度


  • 留言者: somebody1212
  • Email:
  • 網址:
  • 日期: 2010-12-01 01:25:55
我已經開始懷念高中數學了...



您好

我有在知識加發問(大富翁那題)

有看到你的留言,我覺得你教的東西對我很有幫助



所以我想請問您

我對flash不太熟...只會很基本的影格操作

如果想要做一個flash的遊戲(像是大富翁的遊戲)

是不是不太容易做成



我完全沒有程式的基礎

看到您發表的flash遊戲文章,好像是要以程式去控制物件的動態

或角度

這樣的話你比較建議我從哪裡建立基礎比較好呢?



其實...

我很想把這個大富翁形式當成5月展的畢製內容XD

只是我很怕我的能力不夠,但我願意學。



希望您給我一點建議



謝謝您。




  • 留言者: somebody1212
  • Email:
  • 網址:
  • 日期: 2010-12-01 02:30:29
不好意思~我忘了說



因為有考慮到大富翁的難度

所以我有想到99形式的小遊戲

(我想做的形式是:使用者從我準備的三個角色選其一去玩。就和我

們玩的99遊戲一樣。只是當使用者快死掉的時候,就會出現一個場

景問使用者問題,答對就免死一次然後繼續遊戲......大概是這

樣)



想請教您

和上面一篇的留言一樣,這樣的我需要從哪裡開始建構^^"



感謝~:)

沒有留言:

張貼留言