2012-03-22 15 views
0

私のプログラムでは、Drawure関数を反復処理するためにList <>コンテナに追加されたTexture2D属性を持つ多数のEntityクラスがあります。同じテクスチャを持つエンティティをグループ化して、前のテクスチャが異なるたびにフラッシングすることなく、SpriteBatchで効率的にバッチ処理できるようにします。C#Texture2Dテクスチャを効率的に比較できますか?

私のソート方法でTexture2Dクラスを互いに比較する効率的な方法は何ですか?私はそれが同じテクスチャであるかどうかに関してブール値の結果しか必要としません。私はピクセルを比較するためにgetData()を使用することを考えていましたが、それは残酷に非効率的です。より良い方法がありますか?

+1

あなたはどのように複数の同一のテクスチャで終わるでしょうか?それはあなたが効果的にそれらを比較することができるTextureIDを持っている必要があり、任意のテクスチャIDのテクスチャをフェッチする方法のように聞こえる... –

+0

私は同じ敵のスプライトを複数回レンダリングしていた場合、透明度を増やして同じスプライトを何度かレンダリングして、トレイル効果を作りました。私はあなたが単一のテクスチャからフェッチすることについて何を意味するかを見ています。 – kbirk

答えて

1

SortedListをカスタムテクスチャの使用(テクスチャメンバが使用されていることを考慮)(たとえば、Name)と考えてみませんか?そうすることで、すべてのオブジェクトをテクスチャで並べ替えることができます。特定のエンティティを他のものの前に描画したい場合や、厳密なソートが最適なオプションではない場合があることを忘れないでください。

関連する問題