当Menu加入多个MenuItem时,怎么加入?

来源:互联网 发布:网络技术交流论坛8864 编辑:程序博客网 时间:2024/04/29 20:58

方式1:普遍方法

创建多个MenuItemSprite(MenuItemLabel等等)对象。

例如:MenuItemSprite* Item_ReC1 = MenuItemSprite::create(normal_ReC, press_ReC, NULL, CC_CALLBACK_1(GameControlLayer::menuCallBack, this));

MenuItemSprite* Item_ReC2 = MenuItemSprite::create(normal_ReC, press_ReC, NULL, CC_CALLBACK_1(GameControlLayer::menuCallBack, this));

MenuItemSprite* Item_ReC3 = MenuItemSprite::create(normal_ReC, press_ReC, NULL, CC_CALLBACK_1(GameControlLayer::menuCallBack, this));

auto menu = Menu::create(Item_ReC1, Item_ReC2, Item_ReC3,NULL);

menu->setPosition(Vec2::ZERO);

this->addChild(menu);

方法2Vector方法

Vector<MenuItem*> menuArray;

创建多个MenuItemSprite(MenuItemLabel等等)对象。

例如:MenuItemSprite* Item_ReC1 = MenuItemSprite::create(normal_ReC, press_ReC, NULL, CC_CALLBACK_1(GameControlLayer::menuCallBack, this));

menuArray.pushBack(Item_ReC1);

MenuItemSprite* Item_ReC2 = MenuItemSprite::create(normal_ReC, press_ReC, NULL, CC_CALLBACK_1(GameControlLayer::menuCallBack, this));

menuArray.pushBack(Item_ReC2);

MenuItemSprite* Item_ReC3 = MenuItemSprite::create(normal_ReC, press_ReC, NULL, CC_CALLBACK_1(GameControlLayer::menuCallBack, this));

menuArray.pushBack(Item_ReC3);

auto menu = Menu::createWithArray (menuArray);

menu->setPosition(Vec2::ZERO);

this->addChild(menu);