作者F23ko (纯洁)
看板GameDesign
标题[程式] 问题 STG 极座标 我的子弹不会倒车
时间Sun Mar 28 04:07:24 2010
自己在演算法中的定义是.....
P = 位置,是角座标,因为画在视窗上比较方便
┌───→X
│
│ P(X,Y)
│
↓Y
V = 速度,是极座标
但是在对於P的运算上,采用角座标算法
下一影格的P'为(X+Vx,Y+Vy)
┌──────────→ X
│ P'(X+Vx,Y+Vy)
│ d ↗
│ ╱θ V(Vx,Vy) 或 V(Vθ,Vd)
│ ─→
│ P(X,Y)
│
│
│
│
│
↓Y
A = 加速度,是极座标
对於V的定义为方向角度(Aθ) * 强度(Ad)
下一影格的V'为(Vx+d*Cos(Vθ-Aθ),Vx+d*Sin(Vθ-Aθ))
V(Vx,Vy)↑
│ ↗
│ /V'(Vx+Ad*Cos(Vθ-Aθ),Vx+Ad*Sin(Vθ-Aθ))
│ /
│╮θ
\
d\ A(θ,d)
↘
=============================================================
问题出在A的方向等於180的时候 (例如煞车的时候)
会往前飞出,停下来,不会向後走
--
◢
乡民啊!乡民! 请告诉我谁是最纯洁的人!
◢█ │
PTT │
██
:就是你!Snow White F23ko!│
█◤ ╯
◤ ﹨(╯▽╰ )∕
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.140.106.70
1F:推 LPH66:你想一下 v=0 时它的角度 (Vθ) 是什麽 03/28 04:54
2F:→ chenglap:180 度是要特殊处理的. 03/28 11:30
3F:→ F23ko:接近170 160度时会打转, 170~180左右会「颤抖」 囧.... 03/28 15:52
4F:→ F23ko:我觉得整个计算方式可能要重想过.... = = 03/28 16:04
5F:推 yoco315:小弟真心、良心、诚心的建议:「不要用极座标」 03/30 18:17