Cocos2d v3 CCButton与标签使用CCLabelBMFont



我试图在cocos2d v3中创建一个名为"Start"的CCButton,使用CCLableBMFont标签作为按钮图像。但是我似乎无法在v3的CCButton中获得标签。如有任何帮助或建议,不胜感激。

我不认为你可以将CCLableBMFont应用于CCButton。查看文档,唯一可用的选项是:

+ (id)buttonWithTitle:(NSString *)title fontName:(NSString *)fontName fontSize:(float)size

+ (id)buttonWithTitle:(NSString *)title spriteFrame:(CCSpriteFrame *)spriteFrame

和这两个的几个变体。所以我认为你将不得不解决的精灵或标签与TTF字体作为按钮背景

下面是我添加到当前项目中的一个实用函数:

+(CCButton *)smallButtonWithLabel:(NSString *)button_label;

和实现:

+(CCButton *)smallButtonWithLabel:(NSString *)button_label
{
        CCButton *button = [CCButton buttonWithTitle:nil spriteFrame:[CCSpriteFrame frameWithImageNamed:@"dlg-sml-btn-bg-s.png"] highlightedSpriteFrame:[CCSpriteFrame frameWithImageNamed:@"dlg-sml-btn-bg-t.png"] disabledSpriteFrame:[CCSpriteFrame frameWithImageNamed:@"dlg-sml-btn-bg-s.png"]];
        [button setBackgroundOpacity:0.5 forState:CCControlStateDisabled];
        CCLabelBMFont *label = [CCLabelBMFont labelWithString:button_label fntFile:SS_FONT_48_24_MULTI width:button.contentSize.width alignment:CCTextAlignmentCenter];
        label.position = ccp(0.5, 0.5);
        label.positionType = CCPositionTypeNormalized;
        [button addChild:label];
        return button;
    }

你可以稍微修改一下以适应你的需要。

最新更新