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 に答える