0

我有一堂课,我设置了这样的界限:

tattoo.setBounds(getWidth() / 2 - zoomController - x, getHeight() / 2 - zoomController - y, getWidth()/ 2 + zoomController - x, getHeight()/ 2 + zoomController - y);
tattoo.draw(c);

当用户在这些范围内单击时,我希望能够执行操作。检查点击是否在范围内的最简单方法是什么?

4

1 回答 1

2

使用Rect描述可绘制边界的 并调用其contains(int x, int y)上的方法,传入 x 和 y 触摸坐标。例如:

Rect bounds = tattoo.getBounds();
int x = ...
int y = ...
boolean withinBounds = bounds.contains(x, y);

或者,您可以创建自己的(静态)辅助方法;数学真的很基础。:)

于 2012-11-12T00:37:18.117 回答