第四节:菜单的使用
2015-06-06 12:02
274 查看
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,CC_CALLBACK_1(MenuScene::Menu1Callback_1, this)); auto label_2 = LabelBMFont::create("setting", "bitmapFontTest5.fnt"); auto item_2 = MenuItemLabel::create(label_2,CC_CALLBACK_1(MenuScene::Menu1Callback_2, this)); auto label_3 = LabelBMFont::create("level", "bitmapFontTest5.fnt"); auto item_3 = MenuItemLabel::create(label_3,CC_CALLBACK_1(MenuScene::menu1Callback_3, this)); //创建一个菜单,把上面的三个菜单项包含进去 Menu *menu = Menu::create(item_1,item_2,item_3, NULL); //设置菜单的位置 menu->setPosition(size.width/2,size.height/2); //设置菜单的对齐方式,这里的对齐方式是水平对齐 menu->alignItemsHorizontally(); //把这个菜单添加到当前场景 this->addChild(menu);
中间使用的回调方法,和上面的是一样的。
MenuItemImage的使用:
这是图片菜单项,即使用图片来创建菜单,也非常简单,首先做好图片,最好是两种状态,一种正常状态,一种按下状态,然后,代码来实现://创建一个图片菜单选项,第一个参数是正常状态下的图片,第二个参数是按下状态下的图片,第三个参数是回调的方法 auto item_iamge = MenuItemImage::create("CloseNormal.png", "bitmapFontTest5.png",CC_CALLBACK_1(MenuScene::Menu1Callback_1, this)); Menu *menu = Menu::create(item_iamge, NULL); //设置菜单的位置 menu->setPosition(size.width/2,size.height/2); //设置菜单的对齐方式,这里的对齐方式是水平对齐 menu->alignItemsHorizontally(); //把这个菜单添加到当前场景 this->addChild(menu);
可以看到,三种菜单的创建方法,都非常得相似,也非常的简单,基本上,做一遍就会了。
相关文章推荐
- c++中vector的pair与make_pair的使用,双关键字排序
- caffe 的损失函数 loss 原文解析-多个损失函数 loss 网络搭建
- Java serverlet 学习笔记
- [FZYZOJ 2080] [FJWC 2015] Screen
- UDP打洞实验
- [CodeForces318C]Perfect Pair[模拟][暴力]
- 用border做三角形
- 我的Java开发学习之旅------>Java语言中方法的参数传递机制
- linux静态库的生成与使用(转)
- 谷歌图片搜索
- 少了分析技能,大数据毫无用处
- JavaScript中的substr()方法使用详解
- oracle数据库未打开解决办法
- 获取WebView加载网页后的cookies
- 探讨PHP页面跳转几种实现技巧
- 中国牛市又造出了八名新富豪
- 做教育管理系统时 遇到的一些问题 总结 培训机构管理系统 中小学管理系统 托管系统 语数英物化
- Emberjs之Observer
- 常见音频格式
- 20.Valid Parentheses