CCMenuItemLabel就是將一個CCLabel轉換成一個CCMenuItem。
static CCMenuItemLabel *create(CCNode *label,CCobject *target,SEL_MenuHandler selector);
在聲明中,我們只需要提前創建好一個CCLabel,之後將這個Label作爲一個參數放到create方法中,就可以將它變成一個按鈕,第二個參數是按鈕調用方法類的指針。第三個參數是一個selector類型的參數,用來當我們按下按鈕之後調用相應的方法。
例:
.h文件
void menuFun(CCObject *pSence);//參數是菜單項。
.cpp文件
boolHelloWorld::init()
{
if ( !CCLayer::init() )
{
returnfalse;
}
CCSprite *spr=CCSprite::create("Icon-72.png");
spr->setPosition(ccp(100,200));
spr->cocos2d::CCNode::setVisible(false);//設置不顯示精靈
this->addChild(spr,0, 1);
CCLabelTTF *abelttf=CCLabelTTF::create("顯示精靈","Thonburi", 48);
//創建菜單項。
/*第一個參數是顯示的文本,第二個參數是對應哪個層,一般都是用this,
第三個參數是當我們按下按鈕之後調相應的方法。
*/
CCMenuItemLabel *item=CCMenuItemLabel::create(abelttf,this, menu_selector(HelloWorld::menuFun));
CCMenu *menu=CCMenu::create(item,NULL);
menu->setPosition(ccp(100,100));
this->addChild(menu);
return true;
}
voidHelloWorld::menuFun(CCObject *pSence)
{
CCSprite *spr=(CCSprite*)this->getChildByTag(1);
if (spr->isVisible())
{
spr->setVisible(false);
}
else
spr->setVisible(true);
}