mouseListeners и JLabels с использованием изображений с прозрачными пикселями - PullRequest
0 голосов
/ 25 декабря 2009

Я готов сделать изометрическую игру, но мне трудно работать с mouseListener.

Я использую Swing и делаю заметки, используя квадратные изображения с прозрачными пикселями (формат GIF).

Проблема заключается в том, что прикасаться к краям друг друга означает, что прозрачные пиксели одного располагаются поверх остальных, что является проблемой для mouseListener.

Я хочу точно знать, по какому лозангу щелкнули, но, поскольку прозрачные пиксели ближайшего лозанга попадают поверх того, по которому щелкнули, в качестве источника KeyEvent выбран неправильный лозанж.

Есть ли способ, чтобы mouseListener не рассматривал прозрачные пиксели как часть фигуры?

Спасибо за чтение.

Ответы [ 2 ]

2 голосов
/ 25 декабря 2009

Как упоминал Джонатан, я думаю, что вы используете неправильную технологию для работы. Я имел большой успех, используя 2D графический фреймворк для такого программного обеспечения, как это. В моем случае я большой поклонник Piccolo . Я знаю, что вы не хотите это слышать, но рассмотрите возможность начать заново с соответствующим набором инструментов.

2 голосов
/ 25 декабря 2009

непонятно

1) почему плитки должны перекрываться, или

2) почему вы используете JLabels для плиток

Есть много способов решить вашу проблему, но я просто создал бы один JComponent, который отображает плитки по мере необходимости и является единственным MouseListener.

...