【Cocos2d-x】新手自学(六)文字菜单
来源:互联网 发布:广联达工程结算软件 编辑:程序博客网 时间:2024/05/18 02:17
最近发现了一个相当不错的博客 Bugs Bunny的博客..讲的特别详细,比小满的不知道详细了多少..很值得大家一看..
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);//调用获得选项函数,使用添加对象数组,把刚才创建的选项数组加入item4item4->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-x】新手自学(六)文字菜单
- cocos2d-x创建文字菜单
- 【新手自学Cocos2d-x】2.打开Cocos2d-x工程示例。
- cocos2d-x 实现图片加文字菜单
- cocos2d-x 3.2创建文字菜单
- 【Cocos2d-x】新手自学(一)Helloworld中 init()函数
- 【Cocos2d-x】新手自学(四)最简单的动作效果...
- 【Cocos2d-x】新手自学(五)动作小例子
- 新手学cocos2D的小笔记-用文字和图片菜单制作cocos2d菜单
- cocos2d-x 新手引导
- cocos2d-x 新手引导
- cocos2d-x 新手上路
- cocos2d-x 新手引导
- COCOS2D-X 新手引导
- cocos2d-x 新手引导
- 新手学习cocos2d-x
- Cocos2d-x 新手引导
- 【Cocos2d-x】新手自学(二)酷炫的场景切换特效!
- wxPython实现的记事本
- Hyper-V
- SysListView32使用
- vim一些操作细节
- fs再次重构心得
- 【Cocos2d-x】新手自学(六)文字菜单
- C++堆栈(2012.06.27&06.28)
- 发现自己没戏了 数据库分页显示 从数据库中选取第m到n行记录
- android使用本地应用在线播放流媒体文件
- 服务器数据库系列 - Redis消息通知系统的实现
- 看懂SqlServer查询计划
- 学习日记(二)安装openvpnp失败
- Vm ware Gsx server 3.2.1 地址
- 插件收藏