如何检索包含其他CCSprites的CCSprite的大小

时间:2012-04-12 16:11:46

标签: iphone objective-c cocos2d-iphone

我需要在我的测试游戏中制作一组收藏品硬币。 所以我做了一个有这种方法的课:

+(CCSprite *)groupWithArray:(NSArray*)positions
{
    CCSprite *coins = [[[CCSprite alloc] init] autorelease];
    for (NSValue *pos in positions) {
        Coin *coin = [Coin sprite];
        [coin setPosition:[pos CGPointValue]];
        [coins addChild:coin];
    }
    return coins;
}

Coin类扩展CCSpritesprite方法返回spriteWithFile:,宽度和高度均为50px)

然后我称这个方法

CCSprite *cgroup = [CoinsGroup groupWithArray:positions];

现在我需要知道cgroup的宽度..
我试过了:

NSLog(@"coins group width: %f",cgroup.contentSize.width);
NSLog(@"coins group width: %f",cgroup.contentSizeInPixels.width);
NSLog(@"coins group width: %f",cgroup.boundingBox.size.width);
NSLog(@"coins group width: %f",cgroup.boundingBoxInPixels.size.width);

但所有人都返回coins group width: 0.000000

为什么会这样?..

1 个答案:

答案 0 :(得分:0)

contentSize和boundingBox指的是精灵附加的图像的大小。因此,在您的情况下,您没有硬币上的图像,只是一个容器(您可能应该使用普通的CCNode)。