2012-04-12 7 views
1

ich in meinem Test-Spiel eine Gruppe von Sammlermünzen machen müssen enthält .. i eine Klasse so gemacht, dass diese Methode haben:, wie die Größe eines CCSprite abzurufen, die andere CCSprites

+(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; 
} 

(die Coin Klasse erweitert CCSprite und die sprite Methode gibt ein spriteWithFile:, die sowohl für die Breite und Höhe hat 50px)

dann rufe ich diese Methode

CCSprite *cgroup = [CoinsGroup groupWithArray:positions]; 

jetzt brauche ich cgroup ‚s Breite ..
Ich habe versucht, wissen:

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

aber alle von ihnen zurückkehren coins group width: 0.000000

warum das so ist ..

Antwort

0

content und boundingBox bezieht sich auf die Größe des Bildes, das das Sprite angehängt hat. In deinem Fall hast du also kein Bild auf Münzen, sondern nur einen Container (du solltest vielleicht einen einfachen CCNode verwenden).

Verwandte Themen