加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

第四节:菜单的使用

发布时间:2020-12-14 21:26:56 所属栏目:百科 来源:网络整理
导读:MenuItemFont的使用: 这是一种最简单的文字菜单,只用设置内容,字号,字体即可,下面是代码: //为菜单选项设置字体名称 MenuItemFont::setFontName("Arial"); //创建一个菜单选项,第一个参数是选项名字,第二个参数是点击了以后,回调的方法 //这里,一

MenuItemFont的使用:

这是一种最简单的文字菜单,只用设置内容,字号,字体即可,下面是代码:

    //为菜单选项设置字体名称
    MenuItemFont::setFontName("Arial");
    //创建一个菜单选项,第一个参数是选项名字,第二个参数是点击了以后,回调的方法
    //这里,一共创建了三个菜单选项,start gamen,setting,level
    MenuItemFont *item1 = MenuItemFont::create("start game",CC_CALLBACK_1(MenuScene::Menu1Callback_1,this));
    MenuItemFont *item2 = MenuItemFont::create("setting",CC_CALLBACK_1(MenuScene::Menu1Callback_2,this));
    MenuItemFont *item3 = MenuItemFont::create("level",CC_CALLBACK_1(MenuScene::menu1Callback_3,this));
    //创建一个菜单,它的参数就是各个菜单选项,最后,一定要跟一个NULL,表示结束了
    Menu *menu = Menu::create(item1,item2,item3,NULL);
    //设置菜单的位置
    menu->setPosition(size.width/2,size.height/2);
    //设置菜单的对齐方式,这里的对齐方式是垂直对齐
    menu->alignItemsVertically();
    //把这个菜单添加到当前场景
    this->addChild(menu);

上面的代码中,使用了三个回调方法,回调方法是这样的:

//回调方法1,点击了start game后回调
void MenuScene::Menu1Callback_1(cocos2d::Ref *sender)
{
    //log输出
    CCLOG("点击了开始按钮");
}
//回调方法2,点击了setting后回调
void MenuScene::Menu1Callback_2(cocos2d::Ref *sender)
{
    CCLOG("设置选项");
}
//回调方法3,点击了level后回调
void MenuScene::menu1Callback_3(cocos2d::Ref *sender)
{
    CCLOG("设置级别");
}

MenuItemLabel的使用:

这种呢,使用标签来创建菜单,前面已经讲过标签,有三种标签,都可以用来创建菜单,这里,我使用的是LabelBMFont,其实,也非常简单,看代码,我已经做了详细注释:

    //先创建一个标签,这里一共创建三个
    auto label_1 = LabelBMFont::create("start game","bitmapFontTest5.fnt");
    //根据标签创建一个菜单项,第一个参数就是一个标签,第二个参数是点击后要回调的方法
    auto item_1 = MenuItemLabel::create(label_1,this));
    auto label_2 = LabelBMFont::create("setting","bitmapFontTest5.fnt");
    auto item_2 = MenuItemLabel::create(label_2,this));
    auto label_3 = LabelBMFont::create("level","bitmapFontTest5.fnt");
    auto item_3 = MenuItemLabel::create(label_3,this));
    //创建一个菜单,把上面的三个菜单项包含进去
    Menu *menu = Menu::create(item_1,item_2,item_3,size.height/2);
    //设置菜单的对齐方式,这里的对齐方式是水平对齐
    menu->alignItemsHorizontally();
    //把这个菜单添加到当前场景
    this->addChild(menu);

中间使用的回调方法,和上面的是一样的。

MenuItemImage的使用:

这是图片菜单项,即使用图片来创建菜单,也非常简单,首先做好图片,最好是两种状态,一种正常状态,一种按下状态,然后,代码来实现:

    //创建一个图片菜单选项,第一个参数是正常状态下的图片,第二个参数是按下状态下的图片,第三个参数是回调的方法
    auto item_iamge = MenuItemImage::create("CloseNormal.png","bitmapFontTest5.png",this));
    Menu *menu = Menu::create(item_iamge,size.height/2);
    //设置菜单的对齐方式,这里的对齐方式是水平对齐
    menu->alignItemsHorizontally();
    //把这个菜单添加到当前场景
    this->addChild(menu);
可以看到,三种菜单的创建方法,都非常得相似,也非常的简单,基本上,做一遍就会了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读