c#XNA 2d相对于原点的矢量点

时间:2012-01-19 17:16:45

标签: c# vector xna rotation 2d

我有一个关于在c#XNA中操纵向量的查询。我目前有一个2d纹理,原点设置为精灵的中心,两个独立的矢量相对于该原点,如下所示:

ship1.Engine1.X = (float)Math.Cos(ship1.Angle) * 50 + ship1.Position.X;
ship1.Engine1.Y = (float)Math.Sin(ship1.Angle) * 50 + ship1.Position.Y;
ship1.Engine2.X = (float)Math.Cos(ship1.Angle) * -50 + ship1.Position.X;
ship1.Engine2.Y = (float)Math.Sin(ship1.Angle) * -50 + ship1.Position.Y;

这两种发动机矢量对火箭都有粒子效应,因此需要定位在精灵上的排气管上。它们沿着船舶纹理的相对X轴排列,但我无法计算出相对y轴向下移动它们的算法。我该怎么做呢?提前谢谢。

我的意思是:http://i.stack.imgur.com/S5bkS.png

1 个答案:

答案 0 :(得分:0)

你给的点与船的旋转方向相同。

尝试使用ship1.Angleship1.Angle + MathHelper.PiOver2

替换ship1.Angle - MathHelper.PiOver2