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

本文介绍了一种游戏界面自适应不同设备分辨率的方法。通过计算背景和元素的缩放比例,确保了界面元素在不同尺寸屏幕上的一致性和美观性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值