相当于CGRectIntersectsRect

时间:2014-03-11 21:37:37

标签: ios objective-c

是否有一个等同于CGRectIntersectsRect的东西会更多地沿着点相交的点...我正在制作一个游戏而RectIntersectsRect适用于我想要的东西,但它看起来很糟糕因为有时一个物体的角落会与另一个物体的角落相交,它会调用该方法,你几乎看不到这两个物体被触碰,所以看起来它只是毛刺。是否有CGPointIntersectsPoint或类似的东西?谢谢。

2 个答案:

答案 0 :(得分:1)

试试CGRectContainsPoint。如果您只想比较两个点,请使用CGPointEqualToPoint

你实际上没有一个点与另一个点相交,因为它们是空间中的两个精确点。他们可以“相交”的唯一方法是平等。

答案 1 :(得分:1)

您可以使用CGRectContainsPoint查看其中一个矩形是否包含另一个矩形,但您会遇到同样的问题。

您可以使用CGRectIntersection查找两个矩形的交集。它将为您提供另一个CGRect,它代表两个矩形的共同区域。从这个矩形中,您可以检查宽度和高度,以查看交叉点是否“足够大”

CGRect intersection = CGRectIntersection(rect1, rect2);
if (CGRectGetWidth(intersection) > kHorizontalThreshold || CGRectGetHeight (intersection) > kVerticalThreshold)
{
     // call your intersection method here
}
相关问题