2013-07-17 67 views
1

什麼我做的是掃描區域用直線的精靈,我旋轉20度來回射擊子彈

,當我點擊我的行動按鈕,我想拍攝一部子彈在精靈的旋轉方向

我做一個

sprite->getRotation(); 

得到的角度,我有我的可用單位的角度來看,可以說這是(0,0)

我猜我需要找到一個點,但我不知道它背後的數學。

這甚至有可能嗎?

回答

2

鑑於您知道子彈的速度(像素/秒),讓我假設您將其稱爲v。橫跨屏幕需要s秒。這x代表你的子彈在軸x(相同於y變量)的位置,你可以具體化使用這種簡單的三角函數兩個變量:

x = 0; // initial position. You say that it start at (0,0) 
y = 0; 

for (int i = 0; i < s; i++) { 
    sleep(1); // look in unistd.h 
    x += v*cos(angle); // include math.h 
    y += v*sin(angle); // angle in radian, of course 
    // draw your sprite here, at (x, y) 
} 
+0

這就是我一直在尋找。出於某種原因,當我在x和y上切換了sin和cos時,它對我有用。感謝您指引我在正確的方向。 – Barqster7764