cocos2d-x 开关按钮 三态按钮 的实现 CCMenuItemToggle
2013-11-13 18:00
453 查看
一.废话少说,先上效果图:
![](http://blog.justbilt.com/wp-content/uploads/2013/02/QQ%E6%88%AA%E5%9B%BE20130226144955.png)
![](http://blog.justbilt.com/wp-content/uploads/2013/02/QQ%E6%88%AA%E5%9B%BE20130226145019.png)
二.实现过程:
1.创建CCMenuItemToggle对象:
C++12345 | CCMenuItemImage *btnOn =CCMenuItemImage::create("soundon.png" ,"soundoff.png"); CCMenuItemImage *btnOff=CCMenuItemImage::create("soundoff.png","soundon.png"); CCMenuItemToggle *btnSnd =CCMenuItemToggle::createWithTarget(this,menu_selector(GameLayer::onMusicEnable),btnOn, btnOff,NULL); |
2.添加到CCMenu中:
C++1 2 3 | CCMenu*pMenu=CCMenu::create(btnSnd,NULL); pMenu->setPosition(CCPointZero); this->addChild(pMenu); |
3.响应代码:
C++12345 | void GameLayer::onMusicEnable( cocos2d::CCObject* pObj ){ CCMenuItemToggle *toggleItem = (CCMenuItemToggle *)pObj; CCLog("%d",toggleItem->getSelectedIndex());} |
三.其他
1.调用CCMenuItemToggle::createWithTarget (…)状态:
获得:
C++1 2 3 4 5 6 7 8 9 10 | intnID=toggleItem->getSelectedIndex(); swith(nID) { case0: //... break; case1: //... break; } |
设置:
C++1 2 | toggleItem->setSelectedIndex(1); toggleItem->setSelectedIndex(2); |
2.三态按钮也可以采用类似的方法实现,CCMenuItemToggle::createWithTarget()一次传入3种状态,点击后会自动1-2-3-1这样切换 .
相关文章推荐
- cocos2d-x 开关按钮 三态按钮 的实现 CCMenuItemToggle
- 菜单的创建之CCMenuItemLabel与CCMenuItemToggle(开关按钮) 实现良种选择状态的切换
- Cocos2d-x MenuItemToggle 实现开关按钮
- Cocos2d-x 带冷却效果的菜单按钮CCMenuItem
- cocos2d-x ——菜单层(CCMenuItemToggle)五
- cocos2d——开关按钮的使用(CCMenuItemToggle)
- CCMenuItemToggle实现选中的效果
- Cocos2d-x CCMenuItemSprite按钮图片旋转问题
- CCMenuItemImage 让按钮被点击时显示另一张图片(cocos2d-x基础)
- cocos2dx-CCTableView滚动列表 之CCMenuItemToggle 多选实现
- cocos2d-x之-CCMenuItemToggle使用方法
- 用cocos2dx3.1的MenuItemToggle写一个会跳动音乐开关按钮
- cocos2d-x TestLua 之 CCMenuItemLabel CCMenuItemSprite CCMenuItemFont 菜单类
- Cocos2d-x ——菜单层(CCMenuItemLabel) 一
- cocos2d-x ——菜单层(CCMenuItemSprite)三
- cocos2d-x TestLua 之 CCMenuItemImage 菜单类
- 在 cocos2d 中判断互相重叠的 CCMenuItem
- 暂停按钮采用MenuItemImage的实现
- CCMenuItemToggle
- Cocos2d-x ——菜单层(CCMenuItemLabel) 一