我在屏幕上有两对精灵。当点击两个精灵时,我想检查点击的两个精灵是否相同,如果它们相同则从屏幕上删除。任何人都可以给我任何建议去做这个。 感谢。
这是我到目前为止所做的代码..
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];
}
}
现在我的四个精灵在屏幕上,我想检查是否点击了两个相同的精灵并将其删除。
答案 0 :(得分:1)
如果正确“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");
}