0
我在c#XNA中查詢操縱矢量。我現在有一個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
更換
ship1.Angle
請出示你在那裏操縱的粒子效果(你現在有什麼)方向的代碼。你只是顯示上面的位置。 'Engine1'和'Engine2'中的方向是如何定義的? – ja72請澄清:您已經正確定位了發射器,但是您希望粒子在'ship1.Angle-180'中移動? – annonymously
@annonymously:關閉,但Math.Cos和Math.Sin採用弧度,而180度仍然會將它放在同一軸上,正好相反。我相信他需要用ship1.Angle + MathHelper.PiOver2或者ship1.Angle - MathHelper.PiOver2取代ship1.Angle。 –