0

等角ゲームを作りたいのですが、mouseListenerで苦労しています。

私はSwingを使用しており、透明なピクセル(GIF形式)の正方形の画像を使用して菱形を作成しています。

問題は、菱形を互いに接触させることは、一方の透明なピクセルを他方の上に置くことを意味することです。これは、mouseListenerの問題です。

どの菱形がクリックされたかを正確に知りたいのですが、近くの菱形の透明なピクセルがクリックされたものの上に来るため、間違った菱形がKeyEventソースとして選択されます。

mouseListenerが透明なピクセルを形状の一部と見なさないようにする方法はありますか?

読んでくれてありがとう。

4

2 に答える 2

2

それははっきりしていません

1) タイルを重ねる必要がある理由、または

2) タイルに JLabels を使用している理由

あなたが抱えている問題を解決する方法はたくさんありますが、必要に応じてタイルをレンダリングし、唯一の MouseListener である単一の JComponent を作成します。

于 2009-12-25T19:01:22.873 に答える
2

ジョナサンが言ったように、あなたは仕事に間違ったテクノロジーを使っていると思います。私は、このようなソフトウェアに 2D グラフィックス フレームワークを使用して大きな成功を収めました。私の場合、私はピッコロの大ファンです。これを聞きたくないのはわかっていますが、適切なツールセットでやり直すことを検討してください。

于 2009-12-25T20:26:44.200 に答える