0

我愿意制作一个等距游戏,但我很难使用 mouseListener。

我正在使用 Swing 并通过使用具有透明像素(GIF 格式)的方形图像来制作 losanges。

问题是让 losanges 相互接触意味着让一个透明像素位于另一个边缘,这是 mouseListener 的一个问题。

我愿意确切地知道单击了哪个 losange,但是由于附近 losange 的透明像素位于单击的那个的顶部,因此选择了错误的 losange 作为 KeyEvent 源。

有没有办法让 mouseListener 不考虑透明像素作为形状的一部分?

谢谢阅读。

4

2 回答 2

2

不清楚

1)为什么瓷砖必须重叠,或

2) 为什么你使用 JLabels 作为瓷砖

有很多方法可以解决您遇到的问题,但我只会制作一个 JComponent 来根据需要呈现图块,并且是唯一的 MouseListener。

于 2009-12-25T19:01:22.873 回答
2

正如乔纳森所提到的,我认为您在工作中使用了错误的技术。我已经为此类软件使用 2D 图形框架取得了巨大的成功。就我而言,我是Piccolo的忠实粉丝。我知道您不想听到这个,但请考虑使用适当的工具集重新开始。

于 2009-12-25T20:26:44.200 回答