2011-08-12 6 views
0

2つのスプライトがクリックされているときにクリックした2つのスプライトが同じかどうかを確認したい場合は、同じ場合はscreen.canから削除してください。これを行うための提案。ありがとう。 スプライトの検出に問題がある

これは私が今、私の4スプライトが画面上にある、私は2つの同じスプライトがクリックされたかどうかをチェックし、削除したいこれまで..

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

2つのスプライト画像が同じであることを確認したいですか?

"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"); 
     }