だから私は円のセットがあるAndroidアプリケーションを作っています。ユーザーがいずれかの円の点に触れると、ユーザーが触れた場所に応じて点を計算する必要があります。
アーチャーのターゲットにやや似ています。
どうすればこれを達成できますか?
タッチインターフェイスについて検索しましたが、これを行う方法を理解できませんでした
次のコードを使用TouchListener
して、タッチ イベントが円の内側で発生するかどうかを確認する必要があります。
方式
(x - center_x)^2 + (y - center_y)^2 < radius^2
コード
int x = view.getX();
int y = view.getY();
if((xTouch - (x + radius)) * (xTouch - (x + radius)) + (yTouch - (y + radius)) * (yTouch - (y + radius)) <= (radius * radius)){
...
}
これが左辺の式が右辺よりも小さい場合、タッチイベントは円の内側にあり、円の外側にあります。