按下按钮C#XNA时,获取并反对绕另一个轨道运行

时间:2014-02-03 16:39:39

标签: c# xna

我有一艘船,我希望船只跟随鼠标,它做得那么精致和花花公子。当向前和向后按下时,它完全朝向和远离鼠标,但我无法弄清楚如何使左右按钮使船沿着顺时针/逆时针方向围绕鼠标旋转。

我试图获取船只的位置,鼠标的位置,创建斜坡,然后垂直于该斜坡,但这也不起作用。

我怎样才能做到这一点?我不认为它需要代码,更多的是方程,但如果有代码,请告诉我。

1 个答案:

答案 0 :(得分:2)

您需要圆的方程的参数形式。由于您希望它以鼠标的当前位置为中心,因此您需要偏移转换。尝试类似:

  

浮动半径= 10f;
      float shipX;
      浮船Y;
      float angle = current_angle; //将此更新为动画

     

shipX = mouseX +(radius * Math.Sin(angle));
  shipY = mouseY +(radius * Math.Cos(angle));