cocos2d-x学习--游戏菜单CCMenu

来源:互联网 发布:《鸟哥的linux私房菜》 编辑:程序博客网 时间:2024/05/20 00:15

开始学习Cocos2d-x,之前学过一点cocos2d,只是稍微看了下C++的基本语法,没有很多不懂,今天动手做了个简单的Cocos2d-x的菜单,感觉跟cocos2d区别不大,个别函数换了下,先为自己记录下,只是最基本的菜单实现,下次下优化做得更专业

void LRMenuSecene::createMenu(){    //CGSize为cocos2d函数,CGSize<-->CCSize    CCSize size = CCDirector::sharedDirector()->getWinSize();    //设置菜单默认属性    CCMenuItemFont::setFontName("Helvetica-BoldOblique");    CCMenuItemFont::setFontSize(26);        //创建一个文字菜单项    CCMenuItemFont* menuItemStart = CCMenuItemFont::itemWithString("开始", this, menu_selector(LRMenuSecene::startMenu));    //创建一个精灵图片菜单项//    CCMenuItemSprite    CCSprite* normalSprite = CCSprite::spriteWithFile("Icon.png");    normalSprite->setColor(ccRED);    CCSprite* selectedSprite = CCSprite::spriteWithFile("Icon.png");    selectedSprite->setColor(ccGREEN);    CCMenuItemSprite* aboutMenu = CCMenuItemSprite::itemWithNormalSprite(normalSprite, selectedSprite, this, menu_selector(LRMenuSecene::aboutMenu));        //创建用于可切换的菜单项    CCMenuItemFont::setFontName("STHeitiJ-Light");    CCMenuItemFont::setFontSize(18);    CCMenuItemFont* noMenu = CCMenuItemFont::itemWithString("关");    CCMenuItemFont* offMenu = CCMenuItemFont::itemWithString("开");//    CCMenuItemFont* optionMenu = CCMenuItemFont::itemWithString("")    CCMenuItemToggle* toggleMenu = CCMenuItemToggle::itemWithTarget(this, menu_selector(LRMenuSecene::optionMenu), noMenu,offMenu, NULL);        //创建菜单    CCMenu* menu = CCMenu::menuWithItems(menuItemStart,aboutMenu, toggleMenu, NULL);    menu->setPosition(size.width*0.5, size.height*0.5);    this->addChild(menu);    //各菜单的间距    menu->alignItemsVerticallyWithPadding(40);    }void LRMenuSecene::startMenu(){    std::cout<<"startMenu";}void LRMenuSecene::aboutMenu(){    std::cout<<"aboutMenu";}void LRMenuSecene::optionMenu(){    std::cout<<"optionMenu";}

效果如下


原创粉丝点击