Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocos2d iphone 将CCLabel正好居中放置在CCSprite的中心 我想在CpScript的顶部添加一个标签,不管标签上的文本大小是多少,都应该准确地定位在精灵的中间/中心。_Cocos2d Iphone - Fatal编程技术网

Cocos2d iphone 将CCLabel正好居中放置在CCSprite的中心 我想在CpScript的顶部添加一个标签,不管标签上的文本大小是多少,都应该准确地定位在精灵的中间/中心。

Cocos2d iphone 将CCLabel正好居中放置在CCSprite的中心 我想在CpScript的顶部添加一个标签,不管标签上的文本大小是多少,都应该准确地定位在精灵的中间/中心。,cocos2d-iphone,Cocos2d Iphone,这是我的密码: self.background = [CCSprite spriteWithFile:@"LetterBrick.png"]; self.background.position = CGPointZero; [self addChild:self.background]; _letterLabel = [CCLabelTTF labelWithString:self.letter fontName:@"ChunkFive" fontSize:35];

这是我的密码:

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位置太高:(

试试这个

_letterLabel.anchorPoint = ccp(0.5f,0.5f);
_letterLabel.position = ccp(sprite.position.x, sprite.position.y);
默认情况下,CCLabel的锚点为(0.5f,0.5f)。如果您希望它正好位于其父对象的中心(在本例中为背景的精灵),只需将label的位置设置为精灵的中心

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

[label setPosition:ccpMult( ccpFromSize(background.contentSize), 0.5f )];

self.background=[CCSprite spriteWithFile:@“LetterBrick.png”];[self addChild:self.background];\u letterLabel=[cclabeltf labelWithString:self.letter fontName:@“ChunkFive”fontSize:35.0f];CGSize backSize=self.background.contentSize;\u background.position=ccp(backSize.width/2,backSize.height/2);[self addChild:_letterLabel];
不起作用:(尽量不要在评论中张贴代码。这很难阅读。无论如何,正如我所看到的,你将位置设置为背景,而不是标签。哦,对不起,刚才注意到,你没有将标签添加到背景中,但它们都有相同的父项。对我来说,这很不舒服。你可以为字母创建对象,它将包含背景。)默认情况下,这个标签将是空的,但是你可以添加方法SENTURE来改变它。它将使代码变得清晰,我在新的代码中成功地在Spice上获得了标签,在X位置是正确的,但是Y有点关闭。标签的底部在中间……(而不是它应该是何赫)。-实际上,我想要它的方式与wordfeud字母完全相同。(中间)确保背景精灵没有透明部分(从contentSize计算位置时可能会导致偏移)。我发现字体已损坏。它没有顶部填充。