2011-08-12 70 views
0

我在屏幕上有兩對精靈。當兩個精靈被點擊時,我想檢查點擊的兩個精靈是否相同,如果他們是相同的,然後從屏幕中刪除。任何人請給我任何建議做到這一點。 謝謝。sprite檢測問題

這是到目前爲止的代碼我已經做了..

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

你想檢查兩個精靈圖像是否一樣?

如果它是正確的「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"); 
     }