【发布时间】:2014-03-27 14:20:28
【问题描述】:
我正在尝试创建的内容
- 一个会向玩家发射导弹的物体,如果它与玩家发生碰撞,玩家就会死亡。
问题
导弹如何向玩家移动。
如何让导弹移动,使其不会立即直接向玩家移动(以一定角度缓慢移动)。
我有一个公式,鼠标是“玩家”,而导弹则指向它。
mouse = Mouse.GetState();
mousePosition = new Vector2(mouse.X, mouse.Y);
A = (mouse.X - Position.X);
B = (mouse.Y - Position.Y);
C = (A * A) + (B * B);
C = (float)Math.Sqrt(C);
Angle1 = A / C;
Angle2 = B / C;
(画画最好!)
这只是得到导弹到玩家的距离,现在我需要找到移动导弹的角度或其他东西,我需要做什么?
【问题讨论】:
-
Math.Atan2 会将角度返回给您。然后,您可以根据少量(角度)偏移它,这样它就不会直接指向玩家。
-
我在想:一本关于控制理论的入门书……
-
好的,但是我该如何移动对象,我只是有点卡在程序中怎么说。
-
按角度移动它。
-
我可以看一个例子吗,我知道我必须将它移动到那个角度但是我该如何设置它呢?抱歉,我对这些东西还是有点陌生。
标签: c# geometry xna 2d game-physics