kResolutionFixedHeight bug(cocos2d-x 2.3.3)

时间:2014-05-13 15:55:14

标签: c++ cocos2d-x levelhelper

我正在开发一款应该有恒定高度的游戏(480.0) 因为我在下面写了代码.. 它的错误在于我的精灵表能力为2s 对于SD来说,这是正常的图像,对于高清 - 双倍尺寸和iPad视网膜 - 大4倍; 所以在这种情况下,当我从场景中绘制我的精灵图像时没有正确绘制.. 我想这是因为CCSpriteFrame正在使用CC_ContentScaleFactor()来计算图像的帧,并且它会剪切错误的帧。

有没有人知道如何解决它? :

CCSize designResolutionSize = CCSize(320,480);
CCDirector* pDirector = CCDirector::sharedDirector();
CCEGLView* pEGLView = CCEGLView::sharedOpenGLView();

pDirector->setOpenGLView(pEGLView);

pEGLView->setDesignResolutionSize(designResolutionSize.width,
                                  designResolutionSize.height,
                                  kResolutionFixedHeight);

CCSize size = CCEGLView::sharedOpenGLView()->getFrameSize();

std::vector<std::string> res;
if(size.width >= 2048 || size.height >= 2048){
    res.push_back("ipadhd");
}
else if(size.width >= 960 || size.height >= 960){
    res.push_back("hd");
}
else {
    res.push_back("sd");
}

CCFileUtils::sharedFileUtils()->setSearchPaths(res);
CCDirector::sharedDirector()->setContentScaleFactor(size.height / designResolutionSize.height);

谢谢,乔治..

0 个答案:

没有答案