Java:用于鼠标单击的快速2D命中检测

时间:2012-06-17 11:52:01

标签: java graphics

上下文

我正在使用Java Graphics2D。

我正在绘制一堆形状。

我希望能够进行快速命中检测 - 当鼠标点击一个对象时,我想知道点击了什么对象。

更多详情:

我想在 fill 检测级别执行此操作。即如果我有一个圆圈,我不希望在圆圈的边界框上进行命中检测,我想要在圆圈内部进行命中检测。

对于笔画/线条/字体,我可以对框进行点击检测(而不是字母的黑色部分)。

问题:

我应该使用哪些API进行设置? [而且出于快递,Java使用什么算法/什么是大OH运行时间?]

谢谢!

1 个答案:

答案 0 :(得分:1)

shape.contains(point)询问每个形状?

那是O(形状的数量),但你可能不需要更快的东西。假设对形状的命中测试需要1微秒,并且你有100,000个形状,你仍然可以每秒处理10次点击......