Lab

Cocos2d-x:メニューを押せなくする

 Tag :  Published : 2014-1-24

Pocket

setEnabledを使用します。
メニューのボタンを押せないようにします。

メニューごと押せなくする

2つのメニューアイテムが入ったメニュー(ややこしい。。。)ごと押せなくします。
pBtn1もpBtn2も押せなくなります。

    CCSize s = CCDirector::sharedDirector()->getWinSize();

    //メニューアイテムを二つ作成
    CCMenuItemImage* pBtn1 = CCMenuItemImage::create("1.png", "1.png", this, menu_selector(HelloWorld::myCallback));
    CCMenuItemImage* pBtn2 = CCMenuItemImage::create("2.png", "2.png", this, menu_selector(HelloWorld::myCallback));

    //メニューを作成
    CCMenu* pMenu = CCMenu::create(pBtn1, pBtn2, NULL);
    pMenu->alignItemsHorizontally();
    pMenu->setPosition(ccp(s.width/2, s.height/2));
    this->addChild(pMenu);

    //メニューを押せなくする
    pMenu->setEnabled(false);
    

メニューアイテム単位で押せなくする

構成は上と同じですが、今度はpBtn1だけ押せなくします。

    CCSize s = CCDirector::sharedDirector()->getWinSize();

    //メニューアイテムを二つ作成
    CCMenuItemImage* pBtn1 = CCMenuItemImage::create("1.png", "1.png", this, menu_selector(HelloWorld::myCallback));
    CCMenuItemImage* pBtn2 = CCMenuItemImage::create("2.png", "2.png", this, menu_selector(HelloWorld::myCallback));

    //メニューを作成
    CCMenu* pMenu = CCMenu::create(pBtn1, pBtn2, NULL);
    pMenu->alignItemsHorizontally();
    pMenu->setPosition(ccp(s.width/2, s.height/2));
    this->addChild(pMenu);

    //pBtn1だけ押せなくする
    pBtn1->setEnabled(false);
    

pageTop