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 回答