Я работаю над игрой, которая должна иметь постоянную высоту (480.0)
и потому что я написал этот код ниже ..
что не так с этим, что у меня есть спрайт-листы мощностью 2 с
для SD здесь нормальные изображения, для HD — двойной размер и для iPad Retina — в 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);
Спасибо, Джордж ..
Задача ещё не решена.