CCMenuItemToggle继承自CCMenuItem
提供可变数组存放CCMenuItem对象,用于实现选中状态切换。
.h
void menFun(CCObject* pScene);
.cpp
bool HelloWorld::init()
{
//
// 1. super init first
if ( !CCLayer::init() )
{
return false;
}
CCSprite *spr=CCSprite::create("Icon.png");
spr->setPosition(ccp(50, 200));
spr->cocos2d::CCNode::setVisible(false);
this->addChild(spr, 0, 1);
CCMenuItemFont *fontitem1=CCMenuItemFont::create("开");//开门项
CCMenuItemFont *fontitem2=CCMenuItemFont::create("关");
CCMenuItemFont *fontitem3=CCMenuItemFont::create("壹");
CCMenuItemFont *fontitem4=CCMenuItemFont::create("贰");
CCMenuItemToggle *toggle=CCMenuItemToggle::createWithTarget(this,menu_selector(HelloWorld::menFun), fontitem1,fontitem2,fontitem3,fontitem4,NULL);
toggle->setPosition(ccp(100, 200));
//添加菜单项
toggle->getSubItems()->addObject(CCMenuItemFont::create("叁"));使用此功能添加开关项。
toggle->setSelectedIndex(2);使用此功能功能指定第2个显示的开关项。
CCMenu *menu=CCMenu::create(toggle,NULL);
this->addChild(menu);
return true;
}
void HelloWorld::menFun(CCObject *pScene)
{
CCSprite *spr=(CCSprite*)this->getChildByTag(1);
if (spr->isVisible())
{
spr->setVisible(false);
}
else
spr->setVisible(true);
}