bool HelloWorld::init(){ if ( !Layer::init() ) { return false; }//按纽触发器的使用CCMenuItemLabel *labelMenu = CCMenuItemLabel::create(Label::create("ON","",30));CCMenuItemLabel *labelMenu1 = CCMenuItemLabel::create(Label::create("OFF","",30));CCMenuItemToggle *toggle = CCMenuItemToggle::createWithTarget(this,menu_selector(HelloWorld::menuCloseCallback),labelMenu,labelMenu1,NULL);toggle->setPosition(400,240);toggle->setTag(111);CCMenu *menu = CCMenu::create(toggle,NULL);menu->setPosition(Point(0,0));this->addChild(menu);swit = true;//状态标识的,成员变量 return true;}void HelloWorld::menuCloseCallback(Ref* pSender){CCNode *node = (Node *)pSender;switch (node->getTag()){case 111:if(swit){CCLOG("ON");}else{CCLOG("OFF");}swit = !swit;break;default:break;}}
CCMenuItemToggle 类的父类是CCMenuItem。这个类一般就在一些音乐开,关了的一些地方用一下,没啥要注意的,就是之前一直搞不清楚怎么判断现在按钮的状态,你可以自己定义一个int类,或bool类自己来标识现在的状态。看上面的例子。