【问题标题】:sprite detection problem精灵检测问题
【发布时间】:2011-08-12 03:56:14
【问题描述】:

我在屏幕上有两对精灵。当点击两个精灵时,我想检查点击的两个精灵是否相同,如果它们相同,则从屏幕中删除。谁能给我任何建议这。 谢谢。

这是我到目前为止所做的代码..

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

}

}

现在我的四个精灵在屏幕上,我想检查是否单击了两个相同的精灵并将它们删除。

【问题讨论】:

    标签: iphone cocos2d-iphone detection sprite


    【解决方案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");
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-07
      • 1970-01-01
      • 2018-01-03
      • 2019-11-05
      • 1970-01-01
      • 2013-05-02
      相关资源
      最近更新 更多