iT邦幫忙

DAY 6
4

Flash 相關技術開發系列 第 6

Actionscript - 角度計算

  • 分享至 

  • xImage
  •  

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

  1. 你的物件面朝向 滑鼠改變 而旋轉 物件角度.
  2. 你的角色被敵人追著跑時 , 敵人的面向角色問題
  3. 人物被日光照射的陰影,影子
    如果你可以得知 一物件角度,很多事情都可以解決, 但許多時候 即使你可以決定角度 ,
    你也無法決定到底要轉幾度,因為這不再是單一物件的事, 是兩物件之間的事

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

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

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

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

但 弧度是怎麼來的呢

以下是 atan2 半角公式:

利用 arctan 計算 , 所以 tan 當然要搞清楚

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

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


上一篇
Actionscript3.0- Game 鍵盤,組合鍵問題解決法
下一篇
Facebook API (2)
系列文
Flash 相關技術開發8
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
chiounan
iT邦研究生 1 級 ‧ 2011-10-19 09:42:44

讚超專業的

我要留言

立即登入留言