0

学習演習としてテスト用の xna ゲームを作成していますが、2D テクスチャの使用について小さな質問があります。基本的に、ゲームはテキスト マップ ファイルから取得したさまざまな「タイル」のグリッドです。基本的には、レベルを初期化するときにファイルを解析し、さまざまなタイル タイプのマトリックスを作成するだけです。レベルは基本的に、壁のタイルとスパイクの浴槽です。基本的に、たくさんの壁タイルと複数のスパイク タイル、そしてたくさんの空のタイルがあります。ただし、さまざまな方向をカバーするために、4 種類の壁タイルとスパイク テクスチャがあります。

私の質問は、各タイルのテクスチャをロードする最良の方法は何ですか? タイルごとに個別のテクスチャをロードしますか? つまり、タイルを作成するときに、テクスチャを同時に描画してロードできる texture2d を渡します。これは良い方法のように思えますが、各タイル テクスチャを個別にロードする必要があり、無駄に思えます。

私が考えることができる他のオプションは、タイル構造体で静的テクスチャを使用し、このテクスチャをさまざまな壁とスパイクを持つタイル アトラスとして単純にロードすることです。このようにして、単一のテクスチャのみをロードし、描画するときにスプライト内の適切なタイルの領域に四角形を移動するだけです。

これらの方法のどれがパフォーマンスの観点から最適か、または別のアプローチがあるかどうかはわかりません。

事前に感謝します

4

1 に答える 1

5

コンテンツ パイプラインのすばらしい点は、

Content.Load<Texture2D>("sometexture");

毎回 Texture2D をロードするわけではありません。コンテンツ パイプラインは十分にスマートで、一度ロードすると、そのテクスチャに対して同じ Texture2D を毎回送り返します。静的構造体を作成すると、実際にはさらに悪化します。

于 2013-07-14T17:52:52.143 に答える