Cocos2d-x CCMenu 创建菜单

CCMenu

       CCMenu创建菜单这东西可以说每个游戏都会用到吧(旁白:可不可以快点上教程,真是急死人啦啊发火

   看来小胖已经等不及了,那就给上个简单的创建菜单吧

          (旁白:好激动哦,我的心,你的心,激动激,动激动生气

方法:

       CCMenu * mymenu=CCMenu::create(菜单项1,菜单项2,......,NULL);

注意最后一定要加个空项,告诉他没了可以开始创建了哦。

在cocos2dx中,我们有5中菜单项可以选择。它们分别是:CCMenuItemFont(字体菜单项)、CCMenuItemImage(图片菜单项)、CCMenuItemLabel(文本菜单项)、CCMenuItemSprite(精灵菜单项)、CCMenuItemToggle(开关菜单项)。下面我们就开始来学习他们的用法吧。


1.CCMenuItemFont(字体菜单项)

方法1:

       CCMenuItemFont::create(选项文字,触发目标对象,触发目标函数);

方法2:

       CCMenuItemFont::create(选项文字);


2.CCMenuItemImage(图片菜单项)

方法1:

       CCMenuItemImage::create(默认显示的图片,点击时显示的图片,触发目标对象,触发目标函数);


3.CCMenuItemLabel(文本菜单项)

方法1:

       CCMenuItemLabel::create(CCLableTTF对象,触发目标对象,触发目标函数);


4.CCMenuItemSprite(精灵菜单项)

方法1:

       CCMenuItemSprite::create(默认显示的精灵对象,选中时显示的精灵对象,触发目标对象,触发目标函数);


5.CCMenuItemToggle(开关菜单项)

方法1:

       CCMenuItemToggle::createWithTarget(触发目标对象,触发目标函数,CCMenuItem对象的可变参数列表);



那我们就做做吧(旁白:快做啊,别废话


//获取尺寸

CCSize mysize=CCDirector::sharedDirector()->getWinSize();

//文字菜单项

CCMenuItemFont * mymenu1=CCMenuItemFont::create("文字菜单1");

mymenu1->setPosition(ccp(mysize.width/2,mysize.height-40));

CCMenuItemFont * mymenu2=CCMenuItemFont::create("文字菜单2",this,menu_selector(Menu::menuCloseCallback));

mymenu2->setPosition(ccp(mysize.width/2,mysize.height-80));

//图片菜单项

CCMenuItemImage * mymenu3 = CCMenuItemImage::create("CloseNormal.png","CloseSelected.png",this,menu_selector(Menu::menuCloseCallback));

mymenu3->setPosition(ccp(mysize.width/2,mysize.height-120));

//文本菜单项

CCLabelTTF * ttf1=CCLabelTTF::create("文本菜单","Helvetica",24);

CCMenuItemLabel * mymenu4=CCMenuItemLabel::create(ttf1,this,menu_selector(Menu::menuCloseCallback));

mymenu4->setPosition(ccp(mysize.width/2,mysize.height-160));

//精灵菜单项

CCSprite * mysprite1=CCSprite::create("CloseSelected.png");

CCSprite * mysprite2=CCSprite::create("CloseNormal.png");

CCMenuItemSprite * mymenu5=CCMenuItemSprite::create(mysprite1,mysprite2,this,menu_selector(Menu::menuCloseCallback));

mymenu5->setPosition(ccp(mysize.width/2,mysize.height-200));

//开关菜单项

CCMenuItemFont * font1=CCMenuItemFont::create("开");

CCMenuItemFont * font2=CCMenuItemFont::create("关");

CCMenuItemToggle * mymenu6=CCMenuItemToggle::createWithTarget(this,menu_selector(Menu::menuCloseCallback),font1,font2,NULL);

mymenu6->setPosition(ccp(mysize.width/2,mysize.height-240));




//创建菜单

CCMenu* mymenu = CCMenu::create(mymenu1,mymenu2,mymenu3,mymenu4,mymenu5,mymenu6,NULL);

mymenu->setPosition(CCPointZero);

this->addChild(mymenu, 1);



运行后时乱码,解决乱码的方式也说过,改ccp文件编码为utf-8,但是如果你改了之后,可能本来正确的句子会变成错的,生成的时候会报错。所以以后我们在做菜单的时候,还是尽量使用图片形式


小胖呢?????

     旁白:  睡觉。。。。。。。。叫我干嘛,没看见我在睡觉吗?

讲完啦,你。。。。。可以回家睡啦

     旁白:  好哇好哇!!!!!

屌丝鄙视


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值