cocos2d で 2 つのスプライトを同時にタッチしたときの検出方法を知りたいです。フルーツ忍者に似たゲームを作成しています。ブレードで 2 つのスプライトを同時に粉砕したときにボーナス ポイントを追加したいと考えています。私はそのようなことを試しましたが、うまくいきません:
(void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
//Add a new body/atlas sprite at the touched location
for( UITouch *touch in touches ) {
CGPoint location = [touch locationInView: [touch view]];
location = [[CCDirector sharedDirector] convertToGL: location];
//[self addNewSpriteAtPosition: location];
[_blade dim:YES];
[_bladeSparkle stopSystem];
for (b2Body* b = world->GetBodyList(); b; b = b->GetNext())
{
if (b->GetUserData() != NULL) {
PolygonSprite *sprite = (PolygonSprite*)b->GetUserData();
NSLog(@"sprite entered, exited %d, %d",sprite.sliceEntered,sprite.sliceExited);
if(sprite.type == kTypeTrapPrice && CGRectContainsPoint(sprite.boundingBox, location))
{
NSLog(@"TOUCHED");
noTouch++;
}
}
}
}
// NSLog(@"NO TOUCH %i",noTouch);
[self clearSlices];
}