1

アイソメ 2D ゲームでマウスがどのスプライトの上にあるかを判断しようとしています。私の最善の策は、各スプライトを異なる色で個別にrenderTarget2D描画Texture2Dし、マウスポイントから色データを取得して、描画されたスプライトと照合できるようにすることだと思います。

私がその方法で抱えている問題は、個々のスプライトの色を単色に変更できないことです。呼び出しでColor を変更するspriteBatch.Drawと、単色で描画するのではなく、スプライトの色を濃くするだけなので、テクスチャから取得したデータは役に立ちません。

これらのスプライトを単色で描画するための提案やヘルプはありますか?

4

1 に答える 1

6

そのようにしないでください。新しいレンダリングターゲットを作成し、データをメモリにコピーするのは、1秒間に60回のスプライトがわずか100回であっても、現在のシステムで処理できる範囲をはるかに超えています。

Contains長方形構造の方法を使用するだけです。

var destination = new Rectangle(100, 100, 50, 50);
bool mouseOver = destination.Contains(mouseX, mouseY);
于 2013-01-30T23:33:05.183 に答える