C# XNA-比例方向矢量3
我有一个小型太空射手,我有炮塔射击我的战斗机 炮塔用这个简单的数学向我的战斗机发射炮弹:C# XNA-比例方向矢量3,c#,vector,xna,C#,Vector,Xna,我有一个小型太空射手,我有炮塔射击我的战斗机 炮塔用这个简单的数学向我的战斗机发射炮弹: Vector3 destination = mTarget; Vector3 origin = mPosition; Movement = destination - origin; Movement .Normalize(); mPosition += Movement * speed; 现在一切正常,炮弹向我的战斗机开火 然而,当炮塔发射炮弹时,一旦炮弹击中战斗机所在的位置,炮弹就会停止飞行。基本上,
Vector3 destination = mTarget;
Vector3 origin = mPosition;
Movement = destination - origin;
Movement .Normalize();
mPosition += Movement * speed;
现在一切正常,炮弹向我的战斗机开火
然而,当炮塔发射炮弹时,一旦炮弹击中战斗机所在的位置,炮弹就会停止飞行。基本上,我希望炮弹沿着它的方向向量继续移动,不管它是否通过了飞船所在的点
我尝试过缩放/乘以向量移动的方向,但没有任何效果。提前感谢更改您的结束条件
// by distance
float distance = (destination - origin).Length();
distance *= 1.1; // Will overpassed by 10%
...
mPosition += Movement * Speed;
distance -= Speed; // Movement lenght is one
if (distance<0) destroy_bullet();
// by position
mPosition += Movement * Speed;
if (!Screen.Bounds.Contains(mPosition)) destroy_bullet();
//按距离
浮动距离=(目的地-原点).Length();
距离*=1.1;//将超额支付10%
...
位置+=移动*速度;
距离-=速度;//运动长度是其中之一
若(距离)显示你们的代码“缩放/乘以向量移动的方向”嘿,狐猴!我刚刚解决了我的问题-一些轻微的重组使它起作用:编辑你们自己的答案,除了它,这将帮助你们获得更多的代表性,人们不会仍然回答它,并包括你们的代码,以防其他人感兴趣