上班了大半年,一直在做LUA,结果发现自己走偏了,公司的项目是用的cocos-2dx为引擎的,自己居然对这个了解的不是很多,意识到了这个问题后开始自学cocos-2dx,前几天看了看基本概念,今天看到标签及菜单,怕自己的记性不好,就花点时间记一下,自己以后查看时候也方便些,也许偶尔有大神看到这篇帖子,错误的地方还请指正,
按照菜单项进行分类一共有6种:MenuItemLabel、及它的子类MenuItemAtlasFont和MenuItemFont; MenuItemSprite及它的子类MenuItemImage; MenuItemToggle(开关菜单)。其中MenuItemLabel是个抽象类,在实际使用的时候是用它的子类。
下面的小例子引用自关东升的《cocos2dx实战》明了的展示了文本菜单的使用
MenuItemFont::setFontName("Times New Roman");//设置字体
MenuItemFont::setFontSize(86);
MenuItemFont *item1 = MenuItemFont::create("Start", //创建菜单项对象、设置文本内容CC_CALLBACK_1(HelloEorld::menuItemCallback,this));
MenuItemFont *item2 = MenuItemAtlasFont::create("Help", “menu/aaa.png", 48, 65, ' ',
CC_CALLBACK_1(HelloWorld::menuItem2CallBack, this));
Menu *mn = Menu::create(item1, item2, NULL);
mn->alignItemsVertically();
this->addChild(mn);
精灵菜单的使用:
static MenuItemSprite *create(node *normalSprite, //正常显示时的精灵。。注意 是精灵
Node *selectedSprite, //选择菜单 时候的精灵
Node *disabledSprite, //菜单禁用时的精灵
const ccMenuCallback &callback) //菜单操作时的回调函数指针
图片 菜单的使用:
static MenuItemImage *create(const std::string &normalImage,
const std::string &selectedImage,
const std::string &disabledImage,
const ccMenuCallback&callback)
开关菜单的使用:
简单的文本形式的开关菜单 项:
auto toggleMenuItem = MenuItemToggle::createWithCallback(
CC_CALLBACK_1(HelloWorld::menuItem1Callback, this),
MenuItemFont::create("ON"),
MenuItemFont::create("OFF"),
NULL);
Menu *mn = Menu::create(ltoggleMenuItem,NULL);
this->addChild(mn);
图片形式的开关菜单项
auto soundOnMenuItem = MenuItemImage::create("menu/on.png, menu/on.png); //这里放了两个图片是因为图片菜单的属性正常的和选择的图片,这里都设置为同一个
auto soundOffMenuItem = MenuItemImage::create("menu/off.png,menu/off.png);
auto soundToggleMenuItem = MenuItemToggle::createWithCallBack(
CC_CALLBACK_1(HelloWorld::menuSoundToggleCallback, this),soundOnMenuItem,soundOffMenuITem, NULL);
soundToggleMenuItem->setPositiion(Director::getInstance()->convertToGL(Vec2(800, 210)));
Menu *mn = Menu::create(soundToggleMenuItem,NULL);
mn->setPosition(Vec2::ZERO);
第一次写帖子,写了好久昨晚看完了没写完实在太困了就今早上起来写的,希望自己可以坚持下去,下一章是精灵,今晚继续