在遊戲裡面常常會用滑鼠來控制角色的移動, 而滑鼠目前的位置和人物的連線會被當作是人物正面朝向的方向. 這裡簡單的用python裡面的math module來計算人物和滑鼠位置的夾角.
首先介紹三角函數的arc function :
atan(x) : x 代表弧度(radians)
atan2(y, x) : 計算atan(y/x)的弧度, 回傳的值在-pi和pi之間. 因為有給(x,y)的座標, 所以能判斷座 標是在那個象限裡面, 也就能知道正確的方位.
radians(x) : 把角度(degree)轉成弧度(radian)
degrees(x) : 把弧度轉成角度
因為人物移動的時候也可以用鍵盤做細微的移動, 所以角度的儲存是以degree方式儲存.
所以要讓人物面向滑鼠目前方向的角度為 :
rotate = math.degrees(math.atan2(x, y))
參考資料 :
http://docs.python.org/lib/module-math.html
2008年6月2日 星期一
Pygame : 人物跟著滑鼠旋轉
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言