小羊驼和你一起学习cocos2d-x之二(屏幕匹配、多分辨率解决方案、分辨率适配)

先上图看看 这个是原图是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);


你可能感兴趣的:(cocos2d-x,分辨率适配)