Re: [程式] 請問如何精準的計算2D子彈的移動
剛好之前有寫過
可是我覺得很難用所以拔掉了
屍體還在可是一些相關函數被我改掉了所以我不確定是否正確
式子的計算過程也被我搞丟了
基本上我是建議用更簡單偷懶的方式處理啦....
Lua code:
//變數幾乎都是向量
r = playerPos - pos //目標位置 - 自身位置
u = velo //目標速度
lr = r:Length()
lu = u:Length()
lv = 30; //子彈速度
a= lu * lu - lv * lv
b = -2 * lr *lu * math.cos( u:Angle(r)) //u:Angle(r)是u與r的夾角
c =lr * lr
delta = b * b - 4 * a * c
if delta < 0 then
return //不可能打中
end
delta = math.sqrt(delta)
t= (-b - delta) / (2*a)
v = (r * (1.0 / t) + u)
FireLinearBullet(pos,v:Angle(nil),lv,0,0,0,0)
// 發射位置,發射角度,子彈速度, .....
// v:Angle(nil)是 v對x軸的夾角
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.36.54.140
→
10/28 14:01, , 1F
10/28 14:01, 1F
→
10/28 14:07, , 2F
10/28 14:07, 2F
→
10/28 14:29, , 3F
10/28 14:29, 3F
推
10/28 16:15, , 4F
10/28 16:15, 4F
→
10/28 16:15, , 5F
10/28 16:15, 5F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):