Cocos2dx 菜单项

Cocos2d-x的菜单中提供了多种菜单项的生成方式,他们都继承于CCMenuItem,如下图:

但是这些CCMenuItem及其子类是不能直接添加到显示列表中的,要必须把他们封装到CCMenu中,把CCMenu添加到显示列表显示。下面来看一下CCMenu的继承关系,如下图:

实例代码如下:

 1  CCMenuItemImage *pCloseItem = CCMenuItemImage::create(
 2             "CloseNormal.png",
 3             "CloseSelected.png",
 4             this,
 5             menu_selector(HelloWorld::menuCloseCallback));
 6         CC_BREAK_IF(! pCloseItem);
 7 
 8         // Place the menu item bottom-right conner.
 9 
10         CCSize size = CCDirector::sharedDirector()->getWinSize();
11 
12         pCloseItem->setPosition(ccp(size.width / 2, size.height / 2));
13 
14         // Create a menu with the "close" menu item, it's an auto release object.
15         CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
16         pMenu->setPosition(CCPointZero);
17         CC_BREAK_IF(! pMenu);
18 
19         // Add the menu to HelloWorld layer as a child layer.
20         this->addChild(pMenu, 1);

效果如下图:

原文地址:https://www.cnblogs.com/atong/p/2972724.html