मुझे इस विधि में समस्याएं आ रही हैं। मेरे पास दो आयताकार हैं जो स्पष्ट रूप से एक दूसरे के भीतर निहित हैं। (मैंने यह सुनिश्चित करने के लिए मैन्युअल रूप से अपने निर्देशांक को भी लपेट लिया है।) जब मैं इन दो आयतों की तुलना करने के लिए CGRectContainsRect का उपयोग करता हूं, तो यह झूठा होता है। मेरे जीवन के लिए, मैंने सब कुछ करने की कोशिश की है, नेट को खराब कर दिया है, और मुझे इस समस्या का जवाब नहीं मिल रहा है। किसी को भी कोई विचार है क्यों? मैंने CGRects के मानों को शामिल किया है जब मैं यह दिखाने के लिए डीबग करता हूं कि वे निश्चित रूप से एक-दूसरे के भीतर हैं।CGRectContainsRect काम नहीं कर रहा
-(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 मूल एक्स = 141 y = 76, ऊंचाई = 25, चौड़ाई = 25
rect2 मूल एक्स = 127 y = 91, ऊंचाई = 25, चौड़ाई = 25
धन्यवाद। उसने ऐसा किया मैंने अतीत में कोशिश की थी, लेकिन यह तब काम नहीं किया। फिर फिर से, मैंने तब से कुछ तर्क गलतियों को सही किया है। – drucifer
@itia Ferber मेरे उत्तर को संपादित करने के लिए धन्यवाद .. मैं अपने फोन पर था इसलिए बहुत सारी गलतियों – Shubhank
@ शुभेंक कोई चिंता नहीं। मदद करने के लिए खुश। –