原文地址:http://www.jb51.cc/article/p-ewjnepmt-db.html
自定的简单按钮,直接贴代码:
- MenuItem*MenuItemNode::create(constchar*normal,Ref*target,SEL_MenuHandlerselect)
- {
- auto_normal=Sprite::create(normal);
- returnMenuItemNode::create(_normal,target,select);
- }
- MenuItem*MenuItemNode::create(Sprite*normal,SEL_MenuHandlerselector)
- Rect_rect=Rect(normal->getPositionX(),normal->getPositionY(),normal->getContentSize().width,normal->getContentSize().height);
- autoselect=Sprite::createWithTexture(normal->getTexture(),_rect,false);
- select->setColor(ccGRAY);
- select->setScale(1.1f);
- auto_menuItem=MenuItemSprite::create(normal,select,selector);
- return_menuItem;
- }
但是很可惜,这种放大是基于锚点(0,0)的,是向右上方放大,非常别钮,需要让其居中放大,需要修改cocos2dx源码:
找到CCMenuItem.cpp 修改方法:void MenuItemSprite::setSelectedImage(Node* image)
代码: