0

周りを見回しても、この質問と回答を得た人が見つからないので、ここに投稿します!

2Dカメラを使用しているときにxnaでprimitiveBatchとspriteBatchを一緒に使用する方法はありますか? PrimitiveBatch の spriteBatch で行われる投影を適用する方法はありますか?

4

1 に答える 1

1

2D カメラは単なるマトリックスであり、幸運なことに、spritbatch の Begin メソッドには 2D 変換パラメーターがあります。

public void Begin (
     SpriteSortMode sortMode,
     BlendState blendState,
     SamplerState samplerState,
     DepthStencilState depthStencilState,
     RasterizerState rasterizerState,
     Effect effect,
     Matrix transformMatrix
)

一番下の最後のパラメータを見てください。

これは、これとスプライトバッチの end メソッドの間の後続のすべての描画呼び出しに、この変換マトリックスが適用されることを意味します。

描画をもう少し抽象化する場合は、カメラの現在の状態の正しいマトリックスを返すプロパティを含む独自のカメラ クラスを作成できます。

簡単なグーグル検索でこのチュートリアルが得られました。これは、マトリックスの使用を抽象化し、代わりに位置、スケール、および回転を使用する方法を示すのに適しているようです。 http://adambruenderman.wordpress.com/2011/04/05/create-a-2d-camera-in-xna-gs-4-0/

詳細については、http://msdn.microsoft.com/en-us/library/ff433701.aspx を ご覧ください。

于 2013-04-11T13:02:41.573 に答える