CCMenuItemSprite是繼承自CCMenuItem
內置三個CCNode的對象,無特殊顯示效果。
.h文件
void menFun(CCObject *pSecen);
.cpp文件
bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !CCLayer::init() )
{
return false;
}
CCSprite *spr=CCSprite::create("Icon.png");
spr->setPosition(ccp(100,100));
spr->cocos2d::CCNode::setVisible(false);
this->addChild(spr, 0, 1);
CCSprite *spNor=CCSprite::create("CloseNormal.png");//顯示的精靈。
CCSprite *spSelected=CCSprite::create("CloseSelected.png");//按下後顯示的精靈。
CCSprite *spDisabled=CCSprite::create("Icon.png");//按鈕失效後顯示的精靈。
CCMenuItemSprite*sprite=CCMenuItemSprite::create(spNor,spSelected,spDisabled,this,menu_selector(HelloWorld::menFun));
sprite->setPosition(ccp(80,20));
sprite->setEnabled(false);//爲true時能使,爲false時失效。
CCMenu *menu=CCMenu ::create(sprite,NULL);
menu->setPosition(ccp(80,20));
this->addChild(menu);
return true;
}
voidHelloWorld::menFun(CCObject *pSecen)
{
CCSprite *spr=(CCSprite*)this->getChildByTag(1);
if (spr->isVisible())
{
spr->setVisible(false);
}
else
spr->setVisible(true);
}