【Cocos2d-x】新手自学(六)文字菜单
2012-06-27 17:59
411 查看
最近发现了一个相当不错的博客 Bugs Bunny的博客..讲的特别详细,比小满的不知道详细了多少..很值得大家一看..
http://www.cnblogs.com/cocos2d-x/
其中有一篇是介绍菜单的..我在这里加入注释的和大家分析一下吧..
http://www.cnblogs.com/cocos2d-x/
其中有一篇是介绍菜单的..我在这里加入注释的和大家分析一下吧..
bool HelloWorld::init() { bool bRet = false; do { CC_BREAK_IF(! CCLayer::init()); //设置菜单字体和大小 CCMenuItemFont::setFontName("American Typewriter"); CCMenuItemFont::setFontSize(18); CCMenuItemFont *title1 = CCMenuItemFont::itemFromString("Sound"); CC_BREAK_IF(!title1); title1->setIsEnabled(false);//设置成无效,看起来就像静态文字一样,不可点击 //同样设置菜单的字体和大小,用于区分标题和选项 CCMenuItemFont::setFontName("Marker Felt"); CCMenuItemFont::setFontSize(26); //创建一个多选项菜单项 CCMenuItemToggle *item1 = CCMenuItemToggle::itemWithTarget(NULL,NULL, CCMenuItemFont::itemFromString("On"),CCMenuItemFont::itemFromString("Off"),NULL); CC_BREAK_IF(!item1); CCMenuItemFont::setFontName("American Typewriter"); CCMenuItemFont::setFontSize(18); CCMenuItemFont *title2 = CCMenuItemFont::itemFromString("Music"); CC_BREAK_IF(!title2); title2->setIsEnabled(false); CCMenuItemFont::setFontName("Marker Felt"); CCMenuItemFont::setFontSize(26); //创建多选项 CCMenuItemToggle *item2 = CCMenuItemToggle::itemWithTarget(NULL,NULL, CCMenuItemFont::itemFromString("On"),CCMenuItemFont::itemFromString("Off"),NULL); CC_BREAK_IF(!item2); CCMenuItemFont::setFontName("American Typewriter"); CCMenuItemFont::setFontSize(18); CCMenuItemFont *title3 = CCMenuItemFont::itemFromString("AI"); CC_BREAK_IF(!title3); title3->setIsEnabled(false); CCMenuItemFont::setFontName("Marker Felt"); CCMenuItemFont::setFontSize(26); CCMenuItemToggle *item3 = CCMenuItemToggle::itemWithTarget(NULL,NULL, CCMenuItemFont::itemFromString("Attack"),CCMenuItemFont::itemFromString("Defense"),NULL); CC_BREAK_IF(!item3); CCMenuItemFont::setFontName("American Typewriter"); CCMenuItemFont::setFontSize(18); CCMenuItemFont *title4 = CCMenuItemFont::itemFromString("Mode"); CC_BREAK_IF(!title4); title4->setIsEnabled(false); CCMenuItemFont::setFontName("Marker Felt"); CCMenuItemFont::setFontSize(26); //下面这一段有些复杂,首先创建一个多选项..里面只放一个内容 CCMenuItemToggle *item4 = CCMenuItemToggle::itemWithTarget(NULL,NULL, CCMenuItemFont::itemFromString("Easy"),NULL); CC_BREAK_IF(!item4); //r然后创建一个选项数组,这里用到了模板,并使用从对象获得数据,然后加入数据,NULL结束 CCMutableArray<CCMenuItem*> *more_Items = CCMutableArray<CCMenuItem*>::arrayWithObjects( CCMenuItemFont::itemFromString("Normal"), CCMenuItemFont::itemFromString("Hard"), CCMenuItemFont::itemFromString("Nightmare"),NULL); CC_BREAK_IF(!more_Items); //调用获得选项函数,使用添加对象数组,把刚才创建的选项数组加入item4 item4->getSubItems()->addObjectsFromArray(more_Items); //设置索引为0,这个时候的0是Easy,1是Normal.... item4->setSelectedIndex(0); //创建菜单对象,把菜单项加入菜单对象中.... CCMenu *menu = CCMenu::menuWithItems(title1,title2,item1,item2,title3,title4,item3,item4,NULL); CC_BREAK_IF(!menu); //设置菜单显示的排列方式,这样一来就是4排2列 menu->alignItemsInColumns(2,2,2,2,NULL); this->addChild(menu); bRet = true; } while (0); return bRet; }
相关文章推荐
- 新手学cocos2D的小笔记-用文字和图片菜单制作cocos2d菜单
- 【新手自学Cocos2d-x】1.Windows7+VS2012+Cocos2dx3.4环境搭建
- 【Cocos2d-x】新手自学(八)自定义路径,随心所欲移动精灵(2.0.1版本)
- cocos2d-x 3.2创建文字菜单
- 【新手自学Cocos2d-x】2.打开Cocos2d-x工程示例。
- 【Cocos2d-x】新手自学(五)动作小例子
- 【Cocos2d-x】新手自学(七)百分比读取进度加载图片资源到缓存(2.0.1版本)
- COCOS2D创建菜单,按钮区域和文字显示不一致
- 【Cocos2d-x】新手自学(九)滚动背景..实现无限卷轴效果(2.0.1版本)
- 【Cocos2d-x】新手自学(七)百分比读取进度加载图片资源到缓存(2.0.1版本)
- 【Cocos2d-x】新手自学(三)虚拟屏幕摇杆,控制精灵移动
- cocos2d-x创建文字菜单
- 【Cocos2d-x】新手自学(一)Helloworld中 init()函数
- 【Cocos2d-x】新手自学(二)酷炫的场景切换特效!
- 【Cocos2d-x】新手自学(七)百分比读取进度加载图片资源到缓存(2.0.1版本)
- cocos2d-x 3.0 图片按钮,文字按钮,菜单按钮,单选按钮,开关按钮
- 【Cocos2d-x】新手自学(四)最简单的动作效果...
- 【Cocos2d-x】新手自学(十)分辨率自适应!一句话搞定IOS android windows!!
- Cocos2d-x学习笔记(10)(CCMenu菜单)
- cocos2d-html5学习笔记(五)--菜单和场景转换