私はしばらくの間XNAを使用していて、そのインターフェースを使用することを本当に楽しんでいます。現在、私たちは「戦場の霧」システムを作ろうとしています。私たちはRTSを作成しており、基本的にマップを覆い隠そうとしています。マップ上のユニットは影響力を持ち、何が起こっているかを示します。それらは地図上の特定のエリアを明らかにします。以前はタイルベースのインターフェイスを使用していましたが、外観に満足できませんでした。代わりに、画面に黒いマスクを描画してから、DrawUserPrimitivesを使用して透明な円を表示することにしました。問題は次のとおりです。画面に黒いマスクを描画し、続いて透明な円を描画すると、画面は完全に黒になります。順序を逆にしても何も変わりません。また、見つけたすべてのSpriteBatchBlendStateを試しました。
現在の方法:現在、画面に完全な黒のテクスチャを描画してから、透明な円を描画しています。結果は完全に黒い画面になります。
望ましい結果:円を描くと画面の一部が表示されますが、残りは隠されたままになります。問題を起こさずに互いに近くにある可能性のある、すべて独自の半径を持つ複数の円を描くことができます。
基本的に、黒いマスクを描画しようとしていますが、画面の一部を表示します。円の中心を透明にしようとしているので、円のテクスチャを作成してエッジを透明にすることはできません。中心を透明にすることはできません。その場合、そのような2つのテクスチャが互いに近くにあると、それらの境界が表示されるためです。マスクを作成してから、そのセクションを表示するにはどうすればよいですか?
よろしく
アレス