【发布时间】:2012-03-01 04:33:12
【问题描述】:
我有几个用于向目标发射子弹的公式,但是当玩家从其原始位置移动并且子弹按预期到达玩家的旧位置时,所有公式都会失效。
当 PlayerPosition == BulletPosition 时,如果子弹未命中,我如何让子弹继续朝着正确的方向前进?我的问题是一旦子弹到达它应该去的地方它就会停下来,我需要一个新的公式来保持它移动。
如果它击中了玩家,这很容易,删除该项目,但我似乎无法找到一个好的解决方案。下面是一些代码,现在超级简单。
var movement = PlayerPosition - Position;
if (movement != Vector2.Zero)
movement.Normalize();
//var angle = Math.Atan2(movement.Y, movement.X);
Position += movement*_projectileMoveSpeed;
【问题讨论】: