проблема обнаружения спрайтов - PullRequest
0 голосов
/ 12 августа 2011

У меня есть две пары спрайтов на экране. Когда щелкают два спрайта, я хочу проверить, совпадают ли нажатые два спрайта или нет, если они одинаковы, тогда удалите их с экрана.этот.спасибо.

это код, который я сделал до сих пор ..

NSString *name = [NSString stringWithFormat:@"gimg.png"];   
CCTexture2D * texture = [[CCTextureCache sharedTextureCache] addImage:name];

NSMutableArray *imgFrameTemp = [NSMutableArray array];

for (int i = 0; i <2; i++) {
    CCSpriteFrame *imgFrame1 = [CCSpriteFrame frameWithTexture:texture rect:CGRectMake(i*50, 0*50, 50, 50)];
CCSpriteFrame *imgFrame2 = [CCSpriteFrame frameWithTexture:texture rect:CGRectMake(i*50, 0*50, 50, 50)];

[imgFrameTemp addObject:imgFrame1];
[imgFrameTemp addObject:imgFrame2];
}
for(int i=0;i<2;i++){
for(int j=0;j<2;j++){
    int ran = arc4random()%[imgFrameTemp count];
    CCSpriteFrame * img = [imgFrameTemp objectAtIndex:ran];
    CCSprite *sprite = [CCSprite spriteWithSpriteFrame:img];
    sprite.anchorPoint = ccp(0,0);
    sprite.position = ccp(i*60,(j+1)*60);
    [self addChild:sprite];
    [imgFrameTemp removeObjectAtIndex:ran];

}

}

Теперь мои четыре спрайта на экране, я хочупроверьте, нажаты ли два одинаковых спрайта, и удалите их.

1 Ответ

1 голос
/ 12 августа 2011

хотите ли вы проверить, чтобы два спрайтовых изображения были одинаковыми?

, если это правильно "CCSprite не предоставляет имя изображения, поэтому вы устанавливаете вручную". CCSprite имеет свойство с именем "userData".

//get touch sprites user Data
        NSString *str=spr.userData;
        Nsstring *str1=spr1.userData;
        if ([srt isEqualToString:str1) 
        {
            CCLOG(@"two sprites are same");
        }
...