先上图看看 这个是原图是1280*720的
我解决方案是 按照这个方案来设计。一般情况下背景都是长宽和 设备的长宽像素比例来拉长。而普通的精灵只能按一个比例来拉长。可以是长的比例或宽的比例来拉长
float ratioWidth;
float ratioHeight;
float ratioBackground;
float ratioElement;
CCPoint pointCenter;
void initRatio()
{
CCSize sizeScene=CCDirector::sharedDirector()->getWinSize();
if ((sizeScene.width/sizeScene.height)<(size.width/size.height))
{
ratioBackground=sizeScene.width/size.width;
ratioElement=sizeScene.height/size.height;
}
else
{
ratioElement=sizeScene.width/size.width;
ratioBackground=sizeScene.height/size.height;
}
ratioWidth=sizeScene.width/size.width;
ratioHeight=sizeScene.height/size.height;
pointCenter=ccp(sizeHalf.width*ratioWidth,sizeHalf.height*ratioHeight);
}
spriteLoadingBackgroud=CCSprite::createWithSpriteFrameName("LoadingBG.png");
spriteLoadingBackgroud->setScaleX(ratioWidth);
spriteLoadingBackgroud->setScaleY(ratioHeight);
spriteLoadingBackgroud->setPosition(pointCenter);
this->addChild(spriteLoadingBackgroud,100);