0

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];
}
4

1 に答える 1

0

次のチュートリアルを見ましたか?

http://www.raywenderlich.com/14302/how-to-make-a-game-like-fruit-ninja-with-box2d-and-cocos2d-part-1

さらに、他にも素晴らしいものがたくさんあります。

于 2013-01-08T03:51:25.210 に答える