初學cocos2dx時總弄不明白setVisible和setEnabled到底哪不一樣,於是做一個下方的小例子:
首先在一個新場景中創建一個menu
CCMenuItemImage *pCloseItem = CCMenuItemImage::create("back.png","back.png",this,menu_selector(GameMain::menuBackCallback) );<span> </span>//此回調處打log“111111”
pCloseItem->setPosition( ccp(size.width/2,size.height/2 - 50) );
pCloseItem->setScale(0.5);
CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
pMenu->setVisible(false);pMenu->setEnabled(false);
1.pMenu->setVisible(false); pMenu->setEnabled(false);
結果
沒有顯示,點擊屏幕沒有Log出現
2.pMenu->setVisible(true); pMenu->setEnabled(false);
有按鈕顯示,沒有log出現
3.pMenu->setVisible(false); pMenu->setEnabled(true);
沒有顯示,點擊屏幕沒有Log出現
4.pMenu->setVisible(true); pMenu->setEnabled(true);
有顯示,點擊屏幕有Log出現
總結:setVisible 控制按鈕是否顯示
setEnabled 控制按鈕是否可用
開發時最好setVisible 與setEnabled 成對使用