cocox2d-x CCMenuItemFon
来源:互联网 发布:迈科技 知乎 编辑:程序博客网 时间:2024/05/21 12:10
转自:http://blog.csdn.net/xiaoxiangp/article/details/7697099
最近发现了一个相当不错的博客 Bugs Bunny的博客..讲的特别详细,比小满的不知道详细了多少..很值得大家一看..
http://www.cnblogs.com/cocos2d-x/
其中有一篇是介绍菜单的..我在这里加入注释的和大家分析一下吧..
[cpp] view plaincopy
- 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;
- }
- cocox2d-x CCMenuItemFon
- cocox2d-x HelloWorld分析
- cocox2d-x HelloWorld分析
- cocox2d-x之helloworld详解
- ios -- xcode安装cocox2d-x
- 我的Cocox2d-x游戏环境搭建组件
- Cocox2d-x 2.2.5 中 程序启动流程 及 Size 的设置
- Cocox2d 编译方法
- $X
- X
- X
- X
- x
- x
- X
- /x
- x
- x
- cocos2d-x动作原理
- android soundrecorder之二 应用层到HAL实现
- 二叉树系列文章之一 二叉树的性质
- IOS 6 自动布局 入门-1
- js获取或设置当前窗口url参数的小例子
- cocox2d-x CCMenuItemFon
- 如何使用VC++对ADO的扩展
- MFC单文档CEdit操作
- 活动安排问题之贪心算法
- How to Install And Configure Apache In Ubuntu
- POJ 3692
- 程序员都该阅读的书
- C语言中的位域的使用
- 二分匹配 模版 及最大总结 及 题目集合 +解析