Cocos2d 中的按钮标题无法设置左对齐

Posted

技术标签:

【中文标题】Cocos2d 中的按钮标题无法设置左对齐【英文标题】:Unable to set Left Alignment for button title in Cocos2d 【发布时间】:2014-03-19 13:28:56 【问题描述】:

左对齐 CCLabelTTF 很容易,但 CCButton 似乎有对齐问题。

设置button.horizontalpadding = CCTextAlignmentLeft; 对按钮对齐没有影响。 我试图修改属性preferredSizecontentSize 以创建对齐框但没有成功。

【问题讨论】:

你不能只获取按钮的 CCLabelTTF 并对齐它吗?您可以使用button.label 属性访问它。 【参考方案1】:

您需要设置“锚点”而不是“Aliment 属性”,这是可以帮助您的示例:

CCLabel _label= new CCLabel("sample text here!", "Fonts/font.otf", 60, CCTextAlignment.Left);
_label.AnchorPoint = new CCPoint(0.0f, 0.5f);

【讨论】:

【参考方案2】:

目前无法测试,但我会尝试

[button.label setHorizontalAlignment:CCTextAlignmentLeft];

【讨论】:

【参考方案3】:

我不知道 cocos2d 中有一个 CCButton 类。我假设您在谈论 CCMenuItelLabel。试试这个方法:

        CGPoint rightAlligned = ccp(1.0f, 0.5f);
        CGPoint leftAlligned = ccp(0.0f, 0.5f);


   button.label.anchorPoint = leftAligned; //For left text align
   button.label.anchorPoint = rightAligned; //For right text align

【讨论】:

Cocos2d V3有CCButton,我相信CCMenuItemLabel现在已经没有了。 我还没有尝试过 v3。也许你是对的。但是上面的答案仍然有效。我认为 CCMenuItelLabel 可能在那里。但是 button.label.anchorpoint= 左对齐应该仍然有效,如果类是 v3 中的 ccbutton。

以上是关于Cocos2d 中的按钮标题无法设置左对齐的主要内容,如果未能解决你的问题,请参考以下文章

CCLabelTTF 垂直对齐 (Cocos2D)

cocos2d 从按钮扩展触摸区域

replaceScene 是只替换当前场景还是替换 Cocos2d 中的所有场景

Cocos2D v3 CCParallaxNode 滚动无法让玩家保持焦点

Cocos2d 中的游戏中心成就

cocos2d中如何为按钮添加动作