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类自己来标识现在的状态。看上面的例子。
原文地址:http://zhuoshenger.blog.51cto.com/9697184/1621730