在我的应用程序中,我目前能够通过检查以下所有条件是否为真来确定用户的点击是否在矩形区域内:
- 手指X > 矩形X
- 手指Y > 矩形Y
- 手指X < 矩形X + 矩形宽度
- 手指Y < 矩形Y + 矩形高度
但是,我现在必须确定用户是否在圆形区域内点击。目前我在屏幕上有一个圆形,并且只检查它的边界矩形,这可行但显然不是很好。
任何帮助,将不胜感激。
在我的应用程序中,我目前能够通过检查以下所有条件是否为真来确定用户的点击是否在矩形区域内:
但是,我现在必须确定用户是否在圆形区域内点击。目前我在屏幕上有一个圆形,并且只检查它的边界矩形,这可行但显然不是很好。
任何帮助,将不胜感激。
二维中两点之间的距离定义为
dist = sqrt((x2-x1)^2 + (y2-y1)^2)
要检查您的点击点是否在一个圆圈内,请将您的圆心设为 (x1,y1),将“点击位置”设为 (x2,y2),然后检查是否
sqrt((x2-x1)^2 + (y2-y1)^2) < R
R 是你的圆的半径。
编辑:
正如约翰所提到的,从计算的角度来看,比较与 R^2 更有趣,以避免每次点击的 sqrt。于是条件变成:
(x2-x1)^2 + (y2-y1)^2 < R^2