作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在使用此方法时遇到问题。我有两个显然包含在彼此内的矩形。(我什至手动绘制了它们的坐标以确保。)当我使用 CGRectContainsRect 比较这两个矩形时,它返回 false。对于我的一生,我已经尝试了一切,搜索了网络,但找不到这个问题的答案。任何人都知道为什么?我在调试时包含了 CGRects 的值,以表明它们绝对在彼此之内。
-(bool)checkBoundingBox {
bool returnItem = YES;
//Checks for sprite interaction
for (int i = 0; i < [arrGameItems count]; i++) {
CGRect rect2 = [[self getChildByTag:1] boundingBox];
CGRect rect1 = [[self getChildByTag:3] boundingBox];
// rect1 = CGRectStandardize(rect1);
// rect2 = CGRectStandardize(rect2);
if (CGRectContainsRect(rect2, rect1)) {
CCLOG(@"removed child b*&ch");
[self removeChildByTag:[arrGameItems count] cleanup:YES];
returnItem = NO;
}
}
CCLOG(@"g-dammit");
return returnItem;
}
矩形1原点 x = 141 y = 76,高度 = 25,宽度 = 25
矩形2原点 x = 127 y = 91,高度 = 25,宽度 = 25
最佳答案
CGRectContainsRect()
检查一个矩形是否完全包围另一个矩形,而不仅仅是它们是否相交。从您的坐标来看,矩形不包含彼此,而只是相交。您正在寻找 CGRectIntersectsRect()
。
关于iphone - CGRectContainsRect 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8981931/
我在使用此方法时遇到问题。我有两个显然包含在彼此内的矩形。(我什至手动绘制了它们的坐标以确保。)当我使用 CGRectContainsRect 比较这两个矩形时,它返回 false。对于我的一生,我已
我是一名优秀的程序员,十分优秀!