我正在编写一个小型 2D 射击游戏。子弹的轨迹计算错误。简而言之:射击的角色在屏幕中心(俯视图),我们知道角色旋转的角度,子弹的初始位置也是屏幕的中心,分别。这是我尝试这样做的方法:
phy->ownbullets[i].cX += cos(da) * .5 ;
phy->ownbullets[i].cY += sin(da) * .5 ;
其中 .5 是飞行速度,da 是角度,但轨迹仍然是混乱的。可能是什么问题呢?
屏幕录制 - http://rgho.st/6HkZk2Tpy
我正在编写一个小型 2D 射击游戏。子弹的轨迹计算错误。简而言之:射击的角色在屏幕中心(俯视图),我们知道角色旋转的角度,子弹的初始位置也是屏幕的中心,分别。这是我尝试这样做的方法:
phy->ownbullets[i].cX += cos(da) * .5 ;
phy->ownbullets[i].cY += sin(da) * .5 ;
其中 .5 是飞行速度,da 是角度,但轨迹仍然是混乱的。可能是什么问题呢?
屏幕录制 - http://rgho.st/6HkZk2Tpy
sin
和函数采用cos
弧度值。如果角度值以度为单位,则需要将它们转换为弧度(乘以 pi 再除以 180 度):