首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

cocos2d-x 菜单点击放大有关问题

2013-01-19 
cocos2d-x 菜单点击放大问题m_backmenu CCMenu::menuWithItems(NULL)m_backSprite CCSprite::spriteW

cocos2d-x 菜单点击放大问题
m_backmenu = CCMenu::menuWithItems(NULL);
m_backSprite = CCSprite::spriteWithFile(MENU_106);
pSprite = CCSprite::spriteWithFile(MENU_106);
pSprite->setScale(1.2f);
CCMenuItemSprite* item = CCMenuItemSprite::itemWithNormalSprite(
m_backSprite,
pSprite,
this,
menu_selector(CGameMenuLayer::BackMenuCallBack));

按下 菜单是从左下角放大 ,怎么让它按中心放大?
求指点 谢谢
[解决办法]
CCSprite本来的锚点是(0.5,0.5)的,但是添加到item去之后变为(0.0,0.0);
为什么这么变呢?
因为item要处理点击事件的坐标得于纹理图片匹配


在item后面添加就OK了
m_backSprite->setAnchorPoint(ccp(0.5,0.5));
pSprite->setAnchorPoint(ccp(0.5,0.5));
CCSize size = pSprite->getContentSize();
pSprite->setPosition(ccp(size.width/2,size.height /2));
m_backSprite->setPosition(ccp(size.width/2,size.height /2));


另外也可以考虑用
CCMenuItemImage* item = CCMenuItemImage::itemWithNormalImage(
"CloseNormal.png",
"CloseSelected.png",
this,menu_selector(HelloWorld::menuCloseCallback));
这样的方法。

热点排行