c # XNA 2d векторные точки относительно происхождения - PullRequest
0 голосов
/ 19 января 2012

У меня есть запрос на манипулирование векторами в 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 голосов
/ 21 января 2012

Вы даете точкам то же вращение, что и корабль.

Попробуйте заменить ship1.Angle на ship1.Angle + MathHelper.PiOver2 или ship1.Angle - MathHelper.PiOver2

...