Я пытаюсь создать игру, в которой мяч случайно отскакивает от экрана, а затем, если он попадает в цель, вы выигрываете игру. Поэтому я пытаюсь создать обнаружение столкновения между спрайтом шара и целевым спрайтом. Реализация шаров выполняется в отдельном классе от класса игрового процесса, и цель добавляется в класс игрового процесса следующим образом:
-(void) targetCollision{
CCSprite *target = [CCSprite spriteWithFile:@"target.png"];
target.position = ccp(400,50);
[self addChild:target];
CCSprite *ball = [[Ball alloc] init];
[self addChild:ball];
//CCSprite *ball = [CCSprite spriteWithFile:@"ball2.png"];
//ball.position = ccp(400,75);
//id a1 = [CCRotateBy actionWithDuration:1 angle:360];
//id repAct = [CCRepeatForever actionWithAction:a1];
//[ball runAction: repAct];
//[self addChild:ball];
CGRect ballRect = [ball boundingBox];
CGRect targetRect = [target boundingBox];
if (CGRectIntersectsRect(ballRect, targetRect)) {
NSLog(@"Target hit! Collision detected");
}
}
Я могу заставить этот метод работать, если добавлю шар с закомментированным кодом, но не это - то, что я хочу сделать. Любая помощь будет высоко ценится!