0

CCSprite の上にラベルを追加したいのですが、ラベルのテキストのサイズに関係なく、スプライトの中央/中央に正確に配置する必要があります。

今、私のコードは次のとおりです。

self.background = [CCSprite spriteWithFile:@"LetterBrick.png"];
    self.background.position = CGPointZero;
    [self addChild:self.background];
    _letterLabel = [CCLabelTTF labelWithString:self.letter fontName:@"ChunkFive" fontSize:35];    
    [self addChild:_letterLabel];

そして出力:

ここに画像の説明を入力 私はそれをもう少し低くしたいだけです。

ご覧のとおり、x 位置は問題ありませんが、y 位置が高すぎます。:(

4

2 に答える 2

1

CCLabel の anchorPoint はデフォルトで (0.5f, 0.5f) です。親(この場合は背景のあるスプライト)の中心に配置したい場合は、ラベルの位置をスプライトの中心に設定するだけです

CGPoint backSize = background.contentSize;
[label setPosition:ccp(backSize.width / 2, backSize.height / 2)];

またはそれに等しい

[label setPosition:ccpMult( ccpFromSize(background.contentSize), 0.5f )];
于 2012-08-31T10:18:14.937 に答える
0

これを試して

_letterLabel.anchorPoint = ccp(0.5f,0.5f);
_letterLabel.position = ccp(sprite.position.x, sprite.position.y);
于 2012-08-31T04:47:49.240 に答える