|
发表于 2010-8-29 23:07:00
|
显示全部楼层
Re: 炮弹随弹道曲线旋转自身角度!贴内附图说明
胡乱扯一下哈 [em1]
你可以在程序里自定义一个向量类Vector,在这个类里需要进行平面坐标和极坐标的相互转化(可以描述为Vector(VALUE,ANGLE)==P2-P1),需要包括两个属性 VALUE 和 ANGLE,分别表示向量的值和方向。 有了这个向量模拟抛物线运动就方便多啦。一个向量可以由另外两个分向量表示,那么在抛物线运动中,子弹的速度(用向量类表示)属性就可以分别有水平和垂直两个分速度表示啦,当然在向量类里面进行的坐标转化可以完成这一步。在水平方向上,子弹的运动方向为匀速运动,垂直方向上是加速度运动。子弹速度vec(你所定的速度大小,速度初始方向角度) 加速度acc(9.8,垂直向下方向)
在更新函数里你可以这样表示:
bullet.position+=bullet.vec;
bullet.vec+=bullet.acc;
其中速度和加速度都是矢量,也即是用你自己写的这个Vector类表示。
向量类应该是你设计这东东的最关键的地方,利用数学上的矢量合成可以实现很多效果,可以模拟很多物理现象,例如地球绕太阳的运转,游戏里可以模拟追踪子弹。
|
|