У меня проблемы с этим методом.У меня есть два прямоугольника, которые, очевидно, содержатся внутри друг друга (я даже вручную изобразил их координаты). Когда я использую 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