0
私はc#XNAでベクトルを操作するためのクエリを持っています。私は現在、スプライトの中心に設定され、原点を有する2Dテクスチャ、及び、その原点に対して相対的であるようなので二つの別々のベクターを有する:これらの両方のエンジンベクトルのC#XNA 2次元の起点からのベクトル点
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をship1.Angle + MathHelper.PiOver2またはship1.Angle - MathHelper.PiOver2のいずれかに置き換える必要があると思います。 –