2011-08-12 6 views
0

화면에 두 쌍의 스프라이트가 있습니다. 두 스프라이트가 클릭 될 때 클릭 한 두 스프라이트가 같은지 아닌지 확인하고, 동일하면 화면에서 제거하십시오. 아무도 알려주지 않습니다. 이것을하기위한 제안. 덕분에 . 스프라이트 감지 문제

내가 지금까지했던 코드 ..

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

} 

}

지금 내 4 스프라이트가 화면에있다, 난이 개 같은 스프라이트를 클릭 할 경우 확인하고 제거 할 그들.

답변

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