我有4个点制作一个矩形。我想知道视图中的另一个点是否靠近该矩形的边界。如果该点位于矩形的矩形或OUTSIDE中,则不是这样。我们的想法是知道点是否接近矩形(例如25像素)。
我正在制作一个矩形,让用户重新调整视图大小。如果用户在矩形外部单击,则保存更改。这一切都很简单,但我还想在用户点击矩形时保存更改。
在这个例子中,我想检测用户是否触摸灰色或粉红色区域,而不是黑色区域(可能触及蓝点或周围)
答案 0 :(得分:1)
这是一些解决问题的伪代码:
float distance = 25.0f; // constant distance
if ( ( point.x < rect.left && point.x > rect.left - distance ) ||
( point.x > rect.right && point.x < rect.right + distance ) ||
( point.y < rect.bottom && point.y > rect.bottom - distance ) ||
( point.y > rect.top && point.y < rect.top + distance ) ) {
// point is in black area
}
else {
// point is in pink/grey area
}
只需将距离定义为要排除的矩形周围的大小,并确保点和矩形坐标都在同一坐标系中。