Cocos2d-x 中开关按钮切换

来源:互联网 发布:ubuntu密码忘记了 编辑:程序博客网 时间:2024/05/16 17:23

在之前我们介绍过菜单的类有哪些,以及部分菜单的使用方法,在这里我们学习下开关菜单的使用。主要实现MenuItemToggle菜单多种状态切换以及状态对应的功能实现

菜单中又包含了菜单项,菜单项类是MenuItem,每个菜单项都有三个基本状态:正常、选中、禁止。

菜单分类是按照菜单项进行分类的。
MenuItem的子类有
MenuItemLabel(文本)
MenuItemSprite(精灵)

MenuItemToggle(开关)

其中MenuItemLabel类有两个子类MenuItemAtlasFont和MenuItemFont;
MenuItemSprite类是精灵菜单,它的子类是MenuItemImage,是图片菜单;
MenuItemToggle是开关菜单。


创建开关按钮

//开关按钮auto toggleItem = MenuItemToggle::createWithCallback(CC_CALLBACK_1(RunAction::menuMusicToggleCallback,this),MenuItemLabel::create(Label::create(str, "Arial", 48)),MenuItemLabel::create(Label::create(FontToUTF8("英语"), "微软雅黑", 48)),MenuItemLabel::create(Label::create(str1, "Marker Felt", 48)),MenuItemLabel::create(Label::create(str2, "Arial", 48)),NULL);toggleItem->setPosition(Vec2(visibleSize.width / 2, visibleSize.height / 2));toggleItem->setColor(Color3B(108, 10, 200));auto menu = Menu::create(toggleItem, NULL);menu->setPosition(Vec2::ZERO);this->addChild(menu);
再接着看下回调函数

void RunAction::menuMusicToggleCallback(Ref* pSender){auto menuToggleItem = (MenuItemToggle*)pSender;CCLOG("menuToggleItem  %d", menuToggleItem->getSelectedIndex());//获取被选中的菜单项索引。 //默认初始的状态值是0if (menuToggleItem->getSelectedIndex() == 1){CCLOG(FontToUTF8("状态值为1时功能实现。"));}else if (menuToggleItem->getSelectedIndex() == 2){CCLOG(FontToUTF8("状态值为2时功能实现。"));}else if (menuToggleItem->getSelectedIndex() == 3){CCLOG(FontToUTF8("状态值为3时功能实现。"));}else{CCLOG(FontToUTF8("默认状态功能实现。"));}}

按钮切换效果运行输出图:



1 0
原创粉丝点击