I use following code to create some sprites
-(void)dologic
{
for (int i = 0; i < 3; i ++) {
CCSprite *target = [CCSprite spriteWithFile:@"pig.png"];
int x = arc4random() % 320;
int y = arc4random() % 300;
target.position = ccp(x, y);
[self addChild:target];
[_targets addObject:target];//_targets is nsmutablearray
}
}
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint location = [self convertTouchToNodeSpace: touch];
for (CCSprite *target in _targets) {
if (CGRectContainsPoint(target.boundingBox, location)) {
[_targets removeAllObjects];
[self removeChild:target cleanup:YES];
[self dologic];
}
}
when touch any sprite, all sprites will be removed from the self first, and then call dologic
to create three new sprites again, but my code can only remove the target that i touched, how can i remove all sprites when i touch the screen?