Cocos2d-x UI开发之菜单类使用实例
更新时间:2020年4月25日 17:41 点击:1678
菜单是我们在开发中经常用到的元素,cocos2d-x中的菜单基本上是分装了文本类和精灵类,代码注释有详细的说明,看代码吧!
bool HelloWorld::init() { bool bRet = false; do { CC_BREAK_IF(! CCLayer::init()); CCLabelTTF * ttf = CCLabelTTF::create("cocos2d","Arial",24); //没有设置坐标,默认放到CCMenu层的中间,第二个参数是事件处理函数属于的类,第三个参数就是调用的函数 //menu_selector菜单选择器 CCMenuItemLabel * labelMenu = CCMenuItemLabel::create(ttf,this,menu_selector(HelloWorld::show)); //可以提前修改字体和大小,否则使用默认的 CCMenuItemFont::setFontName("Arial"); CCMenuItemFont::setFontSize(50); //内部实现是创建出一个CCLabelTTF,然后用CCLabelTTF创建CCMenuItemLabel CCMenuItemFont * fontMenu = CCMenuItemFont::create("cocos2d",this,menu_selector(HelloWorld::show)); //内部实现是创建出一个CCLabelAtlas,然后用CCLabelAtlas创建CCMenuItemLabel CCMenuItemAtlasFont * atlasMenu = CCMenuItemAtlasFont::create("2014/2/12","fps_images.png", 12,32,'.',this,menu_selector(HelloWorld::show)); //内部实现是创建一个CCSprite,用CCSprite创建CCMenuItemSprite CCMenuItemImage * imgMenu = CCMenuItemImage::create("CloseNormal.png","CloseSelected.png",this, menu_selector(HelloWorld::show)); CCMenuItemFont * font1 = CCMenuItemFont::create("start"); CCMenuItemFont * font2 = CCMenuItemFont::create("stop"); CCMenuItemToggle * toggle = CCMenuItemToggle::createWithTarget(this,menu_selector(HelloWorld::show2), font1,font2,NULL); //CCMenu就是一个特殊的CCLayer,只是这个层中只能放CCMenuItem和CCMenuItem的子类 //在这个层中,可以为CCMenuItem进行布局,因为是层所以坐标当然默认是(0,0),而且是以左下角点占据坐标位置的 CCMenu * menu = CCMenu::create(labelMenu,fontMenu,imgMenu,toggle,NULL); //为菜单项进行布局,否则就叠加在一起了 menu->alignItemsHorizontallyWithPadding(10); this->addChild(menu); bRet = true; } while (0); return bRet; }
事件激活函数如下,不要忘记在头文件中声明一下。
void HelloWorld::show(CCObject * pSender) { CCLog("label menu!"); } void HelloWorld::show2(CCObject * sender) { CCMenuItemToggle * toggle = (CCMenuItemToggle*)sender; if(toggle->getSelectedIndex() == 0) { CCLog("start"); } else if(toggle->getSelectedIndex() == 1) { CCLog("stop"); } }
上一篇: C语言指针的长度和类型深入分析
下一篇: Cocos2d-x触摸事件实例
相关文章
Cocos2d-x UI开发之CCControlColourPicker控件类使用实例
这篇文章主要介绍了Cocos2d-x UI开发之CCControlColourPicker控件类使用实例,本文代码中包含大量注释来讲解CCControlColourPicker控件类的使用,需要的朋友可以参考下...2020-04-25- 这篇文章主要介绍了Cocos2d-x Schedule定时器的使用实例,本文的讲解内容包含在代码注释中,需要的朋友可以参考下...2020-04-25
- 这篇文章主要介绍了Cocos2d-x中实现弹出对话框示例,注意本文代码中的注释,本文同时给出了效果图,需要的朋友可以参考下...2020-04-25
- 这篇文章主要介绍了Cocos2d-x学习笔记之Hello World!本文基于vs2010和C++语言开发,需要的朋友可以参考下...2020-04-25
使用C++进行Cocos2d-x游戏开发入门过程中的要点解析
这篇文章主要介绍了使用C++进行Cocos2d-x游戏开发入门过程中的要点解析,主要针对画面变化以及触摸响应方面,需要的朋友可以参考下...2020-04-25Cocos2d-x UI开发之CCControlButton控件类实例
这篇文章主要介绍了Cocos2d-x UI开发之CCControlButton控件类实例,本文代码中包含大量注释来讲解CCControlButton控件类的使用,需要的朋友可以参考下...2020-04-25- 这篇文章主要介绍了Cocos2d-x中背景音乐和音效使用实例,注意本文中使用大量注释来说明背景音乐和音效的使用方法,需要的朋友可以参考下...2020-04-25
- 这篇文章主要介绍了Cocos2d-x UI开发之场景切换代码实例,cocos2d-x中的场景切换是通过导演类调用相应的方法完成的,本文通过代码和详细注释来说明,需要的朋友可以参考下...2020-04-25
- 这篇文章主要介绍了Cocos2d-x学习笔记之文本类,文本类是UI开发中经常使用的,本文用详细的代码注释讲解了文本类的使用,需要的朋友可以参考下...2020-04-25
- 这篇文章主要介绍了Cocos2d-x学习笔记之Hello World源码分析,接上一篇内容,本文着重分析源码文件,需要的朋友可以参考下...2020-04-25
- 这篇文章主要介绍了Cocos2d-x中CCEditBox文本输入框的使用实例,本文在代码中用大量注释讲解了CCEditBox的使用方法,需要的朋友可以参考下...2020-04-25
- 这篇文章主要介绍了Cocos2d-x人物动作类实例,本文用大量代码和图片讲解Cocos2d-x中的动作,代码中同时包含大量注释说明,需要的朋友可以参考下...2020-04-25
Cocos2d-x UI开发之CCControlSwitch控件类使用实例
这篇文章主要介绍了Cocos2d-x UI开发之CCControlSwitch控件类使用实例,本文代码中含大量注释讲解了CCControlSwitch控件类的使用,需要的朋友可以参考下...2020-04-25Cocos2d-x保存用户游戏数据CCUserDefault类使用实例
这篇文章主要介绍了Cocos2d-x保存用户游戏数据CCUserDefault类使用实例,需要的朋友可以参考下...2020-04-25- 这篇文章主要介绍了Cocos2d-x UI开发之菜单类使用实例,本文的代码中含有详细注释,需要的朋友可以参考下...2020-04-25
- 这篇文章主要介绍了Cocos2d-x中获取系统时间和随机数实例,本文代码含有大量注释来讲解获取系统时间和随机数的方法,需要的朋友可以参考下...2020-04-25
- 这篇文章主要介绍了Cocos2d-x学习笔记之开发环境搭建,本文使用Visual Studio作为开发IDE,是不同于其它教程的,需要的朋友可以参考下...2020-04-25
- 这篇文章主要介绍了Cocos2d-x 3.x入门教程(一):基础概念,本文讲解了Director、Scene、Layer、Sprite等内容,需要的朋友可以参考下...2020-04-25
Cocos2d-x UI开发之CCControlSlider控件类使用实例
这篇文章主要介绍了Cocos2d-x UI开发之CCControlSlider控件类使用实例,本文代码中包含大量注释讲解了CCControlSlider控件类的使用,需要的朋友可以参考下...2020-04-25cocos2d-x学习笔记之CCLayer、CCLayerColor、CCLayerGradient、CCLayerMultiplex场景层介绍
这篇文章主要介绍了cocos2d-x学习笔记之CCLayer、CCLayerColor、CCLayerGradient、CCLayerMultiplex场景层介绍,需要的朋友可以参考下...2020-04-25