【问题标题】:XNA - Scale Direction Vector3XNA - 比例方向 Vector3
【发布时间】:2012-05-14 00:34:38
【问题描述】:

我有一个小型太空射击游戏,我有炮塔射击我的战斗机。

炮塔使用这个简单的数学向我的战斗机发射炮弹:

Vector3 destination = mTarget;
Vector3 origin = mPosition;
Movement = destination - origin;
Movement .Normalize();
mPosition += Movement * speed;

现在一切正常,弹丸向我的战斗机开火。

然而 - 弹丸一旦击中炮塔发射弹丸时战斗机所在的位置,然后停止 - 基本上,我希望弹丸继续沿其方向矢量移动,无论它是否通过点船在。

我尝试缩放/乘以矢量移动的方向,但没有任何效果。提前致谢

【问题讨论】:

  • 显示你的代码“缩放/乘以向量移动的方向”
  • 嘿狐猴!我刚刚解决了我的问题 - 一些轻微的重组让它工作了:D
  • 添加您自己的答案并将其排除在外,这将帮助您获得更多的代表而人们仍然不会回答它,并包含您的代码以防其他人感兴趣

标签: c# vector xna


【解决方案1】:

改变你的结束条件...

 // 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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    相关资源
    最近更新 更多