2012-04-03 102 views
1

我忙於在XNA中使用一個自頂向下的射擊遊戲。現在我有一個小數學問題: 我有一個精靈,一個持有9毫米的人。現在精靈看着鼠標光標。 當我拍攝時,我想在槍管的末端顯示一個小小的槍口。但是,旋轉角色時,槍管末端的座標將會改變。XNA Sprite旋轉點

我怎樣才能得到正確的座標精靈是槍管結束的時候,例如在桶底是14px的上方玩家的頭上?(自上而下) enter image description here

所以basicly我需要知道如何獲得與orgin具有一定角度的圓中某個點的座標。

謝謝!

回答

4
x=orig.x+cos(alpha)*r; 
y=orig.y+sin(alpha)*r; 

其中alpha是x軸和延伸的槍管的直線之間的角度; r是圓的半徑(桶的長度)。

取決於座標系統的方向,或者兩個+可能都必須替換爲' - '(或者在將alpha的倍數增加到90度(最多270)的情況下進行調整,直到獲得它爲止對)。

+1

如果槍口閃光是方向性的,你需要將它的原點設置在它的後面中心,並對你的人類精靈應用相同的旋轉。 – Murtnowski 2012-04-03 21:12:44

+0

完成了這項工作!謝謝! – Basaa 2012-04-03 21:15:49