今天新建立一工程,在加一个退出的文本菜单发现,点击的位置错位了,
后我有试了按钮等都是错位的,莫名其妙以前一直没有这问题。
我的开发环境是 vs2012 、cocos2d-x v3.5 framework
具体怎么错位看下图,我的按钮是蓝色的部分,但我需要点按钮下方的红色区域它才有click效果响应,非常诡异。
我以为是这工程的问题,后来有创建另外一个新的工程也一样。但是我以前的工程就没有这问题。。。。。
以下贴出我的错位工程代码
bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !Layer::init() )
{
return false;
}
auto btnClose = ui::Button::create();
btnClose->setTag(DUDU_COCOS_TAG_EXIT);
//btnClose->setTitleText(DUDU_COCOS_STR_EXIT);
btnClose->setTitleText("Exit");
btnClose->setTitleFontSize(48);
btnClose->addClickEventListener(CC_CALLBACK_1(HelloWorld::menuClickCallback,this));
btnClose->setPosition(Vec2(320,480));
//btnClose->setPosition(Vec2(origin.x + sizeFrame.width/2,origin.y + sizeFrame.height/2));
btnClose->setAnchorPoint(Vec2(0.5f,0.5f));
addChild(btnClose);
return true;
}
//处理回调函数
void HelloWorld::menuClickCallback(Ref * pSender)
{
if(pSender){
int itag = ((Node *)pSender)->getTag();
if(itag==DUDU_COCOS_TAG_EXIT){
//处理退出
#if(CC_TARGET_PLATFORM==CC_PLATFORM_WP8)||(CC_TARGET_PLATFORM==CC_PLATFORM_WINRT)
return;
#endif
Director::getInstance()->end();
#if(CC_TARGET_PLATFORM==CC_PLATFORM_IOS)
exit(0);
#endif
}else{
CCLOG(“callback tag:%d”,itag );
}
}else{
CCLOG(“menuCallback Error!!”);
}
}
我无论是用MenuItemLabel、MenuItemImage都有这问题
