【发布时间】:2014-02-27 15:26:15
【问题描述】:
我是 XNA 编程的新手,所以肯定会遇到问题。
我的问题是:当我的玩家用枪射击子弹时,我会像这样计算它的位置变化(在我的 void Update() 中):
Position.X += (float)Math.Cos(Angle) * Multiplier;
Position.Y += (float)Math.Sin(Angle) * Multiplier;
我认为这很明显。我对任何方向、角度等都没有问题。我只是好奇如何更频繁地刷新Update。我认为我的 Multiplier 应该等于 1 以使我的子弹移动顺畅。如果我将乘数设置为(例如)50,我的子弹是“跳跃的”——每 50 * Cos/Sin 像素跳过一次。当我的子弹像那样“跳跃”时,许多位于子弹两个计算位置之间的物体将避免碰撞。将我的 Multiplier 设置为“1”会非常慢。
如何改进这个东西?有必要还是我错了?
【问题讨论】:
-
你的意思是增加你的角度?我的意思是,乘数只是使距离变大,而不是步数。