How to multi-touch CCMenuItem?

I want to be able to press multiple CCMenuItems at the same time in my game. is this functionality even possible? I don’t want to have to roll my own solution from scratch to be able to do something so simple, thanks in advance.

I’m not sure if this is possible. You could try putting all CCMenuItems in separate CCMenus if nothing else works.

Actually you could, just like Leszek Leszek said, you have to make it into separate CCMenu.
Just a bit of example:

enum menuItemTag {
    kTagMenuItem1,
    kTagMenuItem2,
};

bool self::init() {
    if (!super::init()) {
        return false;
    }

    auto menu1Item = CCMenuItemSprite::create(CCSprite::createWithSpriteFrameName("menu1-normal.png"), CCSprite::createWithSpriteFrameName("menu1-selected.png"), this, menu_selector(self::onMenuItemClicked));
    menu1Item->setTag(kTagMenuItem1);

    auto menu2Item = CCMenuItemSprite::create(CCSprite::createWithSpriteFrameName("menu2-normal.png"), CCSprite::createWithSpriteFrameName("menu2-selected.png"), this, menu_selector(self::onMenuItemClicked));
    menu2Item->setTag(kTagMenuItem2);

    auto menu1 = CCMenu::create();
    menu1->addChild(menu1Item);

    auto menu2 = CCMenu::create();
    menu2->addChild(menu2Item);

    addChild(menu1);
    addChild(menu2);

    return true;
}

void self::onMenuItemClicked(CCObject* sender) {
    auto item = (CCMenuItemSprite *)sender;
    auto tag = item->getTag();

    switch (tag) {
        case kTagMenuItem1:
        {
            // do something

            break;
        }
        case kTagMenuItem2:
        {
            // do something

            break;
        }
    }
}

Thanks guys, I thought I might be forced into that. But hey, it works.

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.