用于在Java AWT中编辑的鼠标悬停/突出显示图形

时间:2015-01-21 03:22:56

标签: java graphics selection mouseover mouselistener

我正在制作一个以三角形视角渲染的游戏(如等距,但是一组瓷砖边比另一组更陡峭)。我想添加鼠标滚过图块或对象时的功能(突出显示,弹出窗口等)。

对象和图块都会有复杂的形状,我正在寻找鼠标经过它们时最好的标记方法,特别是因为最顶层的对象应该优先于背景对象。

目前,对于每个帧,在作为缓冲图像加载后,图块和对象在画布上由Graphics.drawImage函数呈现。

我继续看到mouseEvent.getSource的替代解释,但似乎需要为每个可突出显示的对象创建图形对象。我担心当屏幕上有数百个可能被选中的对象和图块时,这可能效率低下。

具体来说,我的问题是:

每帧创建数百个(如果不是数千个)图形对象是否是使用getSource函数的一种坏方法?

在给定鼠标坐标的情况下,是否有更好的方法来确定选择哪个类的实例?比如所有像素的单独数组和它们所属的对象/图块ID(我估计大小接近3 MB,屏幕移动时不断更新)?

0 个答案:

没有答案