所以我正在创建一个Android应用程序,我有一组圆圈。当用户触摸其中一个圆圈中的一个点时,我需要根据用户触摸的位置计算一个点
与弓箭手的目标有些相似。
我该如何实现这个目标?
我搜索过触摸界面,但我无法弄清楚我是如何做到这一点
答案 0 :(得分:3)
您应该使用以下代码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)){
...
}
如果这满足左侧方程式小于右侧方程式,则您的触摸事件位于圆圈外的圆圈内。
答案 1 :(得分:1)
只需设置onTouchListener并使用event.getX()/ getY()
制作逻辑