GUI 文档阅读

Menu and MenuItems


CCMenu  是CCmenuItems的集合,可以在菜单中使用buttons 或 labels 菜单项,因为CCMenu  包含全部的菜单项,它控制菜单项的位置和对齐方式,菜单项被默认放在CCMenu  中心。

创建带图片的菜单项
CCMenuItem *pCloseItem = CCMenuItemImage::create(
                                        "CloseNormal.png",
                                        "CloseSelected.png",
                                        this,
                                        menu_selector(HelloWorld::menuCloseCallback) );

创建带文本 的菜单项
CCMenuItem *pCloseItem = CCMenuItemFont::create(
                                        "Close",
                                        this,
                                        menu_selector(HelloWorld::menuCloseCallback) );
pCloseItem->setFontSize(35);
pCloseItem->setFontName("Helvetica");

菜单项加入到 CCMenu  
CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);

加入到图层中
 this->addChild(pMenu, 1);

添加菜单项响应事件
void GameScene::menuCloseCallback(CCObject* pSender)
{
    CCDirector::sharedDirector()->end();
    exit(0);
}

Text Labels


1)TTF labels( CCLabelTTF )

使用TTF字体名创建标签,也可以使用自定义的TTF文件,需要把.ttf文件加入工程里。
如果加载TTF字体失败,将会使用UIFont类。
opengl 纹理将基于字体大小和字体名自动计算其大小。
CCLabelTTF* ttf1 = CCLabelTTF::create("Hello World", "Helvetica", 12, 
                                      CCSizeMake(245, 32), kCCTextAlignmentCenter);

可以使用这个创建纹理
注意:用这个方式,你必须传递你使用的opengl纹理尺寸,如果纹理尺寸不够大,只能绘制部分标签。
CCLabelTTF* CCLabelTTF::create(const char *string, const char *fontName, float fontSize,
                               const CCSize &dimensions, CCTextAlignment hAlignment, 
                               CCVerticalTextAlignment vAlignment)

更改对齐方式
//left alignment
label->setAnchorPoint(ccp(0,0.5f)); 
// right alignment
label->setAnchorPoint(ccp(1,0.5f));
// center aligment (default)
label->setAnchorPoint(ccp(0.5f,0.5f));

当设置文本内容时,注意:每次调用这个函数,都会创建新的opengl 纹理,并渲染,性能不好,  所以可以使用CCLabelAtlas或 CCBitmapFontAtlas代替
label->setString("Hello World 2");

改变字体颜色
label.setColor(ccc3(0,0,0)); // or
label.setColor(ccc4(0,0,0,0)); // setOpacity




2)texture atlas labels( CCLabelAtlas, CCLabelBMFont )










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MyObject-C

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值