1

テストゲーム内で収集可能なコインのグループを作成する必要があるため、このメソッドを持つクラスを作成しました。

+(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クラスは拡張CCSpriteされ、spriteメソッドはspriteWithFile:幅と高さの両方が 50px の a を返します)

次に、このメソッドを呼び出します

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

何故ですか?..

4

1 に答える 1

0

contentSizeとboundingBoxは、スプライトが添付した画像のサイズを参照します。したがって、あなたの場合、コインに画像はなく、単なるコンテナです(プレーンなCCNodeを使用する必要があるかもしれません)。

于 2012-04-12T19:15:18.817 に答える