この方法で問題が発生しました。明らかに互いに含まれている2つの長方形があります(確認のために手動で座標をグラフ化しています)。CGRectContainsRectを使用してこれら2つの長方形を比較すると、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;
}
rect1原点x=141 y = 76、高さ= 25、幅= 25
rect2原点x=127 y = 91、高さ= 25、幅= 25