1
什麼我做的是掃描區域用直線的精靈,我旋轉20度來回射擊子彈
,當我點擊我的行動按鈕,我想拍攝一部子彈在精靈的旋轉方向
我做一個
sprite->getRotation();
得到的角度,我有我的可用單位的角度來看,可以說這是(0,0)
我猜我需要找到一個點,但我不知道它背後的數學。
這甚至有可能嗎?
什麼我做的是掃描區域用直線的精靈,我旋轉20度來回射擊子彈
,當我點擊我的行動按鈕,我想拍攝一部子彈在精靈的旋轉方向
我做一個
sprite->getRotation();
得到的角度,我有我的可用單位的角度來看,可以說這是(0,0)
我猜我需要找到一個點,但我不知道它背後的數學。
這甚至有可能嗎?
鑑於您知道子彈的速度(像素/秒),讓我假設您將其稱爲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)
}
這就是我一直在尋找。出於某種原因,當我在x和y上切換了sin和cos時,它對我有用。感謝您指引我在正確的方向。 – Barqster7764