无法多分辨率自适配

在480*320的分辨率下面是可以的,但是换到屏幕更大的手机下图片就有问题.
m_pUiLayer = UILayer::create();
addChild(m_pUiLayer);

    m_pWidget = dynamic_cast<UILayout*>(GUIReader::shareReader()->widgetFromJsonFile("egg-1_1/egg-1_1.json"));
    m_pUiLayer->addWidget(m_pWidget);
    CCSize screenSize = CCDirector::sharedDirector()->getWinSize();
    CCSize rootSize = m_pWidget->getSize();
    m_pUiLayer->setPosition(CCPoint((screenSize.width - rootSize.width) / 2,
                                (screenSize.height - rootSize.height) / 2));

以上是我的代码,是参考TEST工程用的,COCOSTUDIO里面我没有针对分辨率进行设置,请问有大侠知道是怎么会是吗?

hi~~我想了解下你的界面结构,能否提供截图?

另发帖时注意说明版本号,如果你用到了百分比可能需要给root设置大小。

我用的是cocos2dx 2.2和与之匹配的最新的cocostudio.我没有用的百分比 ,就是在UI里面添加了一个image. 我把cocostudio 的项目和截图都发上来,请Hanrea帮我看看.

//你的这个方法仅仅设置了m_pUiLayer坐标,而不是设置大小。
m_pUiLayer->setPosition(CCPoint((screenSize.width - rootSize.width) / 2, (screenSize.height - rootSize.height) / 2));

使用了m_pUiLayer->setContentSize(screenSize),仍然分辨率不对啊,请问应该使用哪个函数.

你不用百分比或者相对布局就没办法实现多分辨率适配。默认的是绝对布局模式,也就是完全按照编辑器里显示的坐标来显示。

除非你使用 CCDirector::sharedDirector()->setContentScaleFactor(2.0)这种形式,但是这个已经是落后的方法了。高分辨率下将会严重失真。