1

自分がやろうとしていることをどう説明したらいいのかよくわかりません。オーバーヘッド シューターを作成しています。画面の左上隅にあるミニマップで構成されています。

これが私がやろうとしていることです(編集された画像)

この場合、マップの黄色のボックス内の部分のみを表示する必要があり、赤で強調表示された部分は完全に非表示にする必要があります。プレーヤーが移動すると (この場合は右としましょう)、それに応じてマップ イメージが左にパンします。

繰り返しますが、黄色のボックス内 = 見える

赤でハイライト = 非表示

これは、紙に穴を開けてその下に絵を入れるのとよく似ていますが、紙と穴の外側にあるものは見えません。

これは「マスキング」と呼ばれていると思いますが、よくわかりません。

これを一生懸命説明しようとする馬鹿みたいだ。

4

2 に答える 2

0

BufferedImage にはメソッドgetSubimageがあります。ミニマップ全体を BufferedImage に描画してから、getSubimage を使用して必要な部分だけを取得できるはずです。

于 2012-11-01T08:50:25.270 に答える
0

このユースケースでは、「地形」と敵船を表すモデルを保持し、Graphicsペイント時にインスタンスを単純に変換する傾向があります。あるいは、「地形」は、ゲーム プレイに関連する部分でない場合 (たとえば、星空の背景)、単なる画像である可能性があります。

于 2012-11-01T04:23:55.227 に答える