我有一个简单的CCLayer
子类,其中一个圆圈作为背景图像。我还有一个CCLabelTTF
作为子节点。 如何将标签的文字居中放在背景图片上?
这就是我所拥有的:
// in MyCCLayer's init method
CCSprite *backgroundImage = [CCSprite spriteWithFile:@"circle.png"];
[self addChild:backgroundImage];
self.contentSize = backgroundImage.contentSize;
CCLabelTTF *label = [CCLabelTTF labelWithString:@"0"
dimensions:self.contentSize
alignment:UITextAlignmentCenter
fontName:@"Arial"
fontSize:32];
[self addChild:label];
我已经尝试更改了标签上的anchorPoint和位置,但我无法将文本放在背景图像的中心位置。文本始终是偏移的。无论字体大小如何,我都希望使用居中文本。
答案 0 :(得分:2)
我假设你的代码看到你的标签最终落在了圆圈的底部?如果您创建如下标签,它应该适合您。
CCLabelTTF *label = [CCLabelTTF labelWithString:@"0" fontName:@"Arial" fontSize:32];
label.anchorPoint = ccp(0.5, 0.5);
label.position = ccp(backgroundImage.contentSize.width/2, backgroundImage.contentSize.height/2);
答案 1 :(得分:0)
try this code:
CCSprite *backgroundImage = [CCSprite spriteWithFile:@"circle.png"];
[self addChild:backgroundImage];
backgroundImage.position=ccp(winSize.width/2,winSize.height/2);
CCLabelTTF *label = [CCLabelTTF labelWithString:@"0"
dimensions:self.contentSize
alignment:UITextAlignmentCenter
fontName:@"Arial"
fontSize:32];
label.position=backgroundImage.position;
[self addChild:label];