cocos2d的ResolutionPolicy 屏幕适配问题

本文介绍了Cocos2d中的五种屏幕适配方法,包括EXACT_FIT、SHOW_ALL、NO_BORDER、FIXED_HEIGHT和FIXED_WIDTH,并解释了它们如何影响游戏在不同设备上的显示效果。

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

cocos2d有五种方法控制屏幕适配

1、EXACT_FIT

完全投射到屏幕全屏的,拉伸

2、SHOW_ALL

通过牺牲一部分屏幕面积来达到两个目的:

1)解决了游戏画面根据屏幕尺寸自动放大缩小的问题

2)保证了显示区域的宽高比,使得游戏更容易设计

但是注意,使用这种方法可能在屏幕上下或者左右出现黑边。

3、NO_BORDER

没有黑边,且保持宽高比,会有部分被裁剪掉,分辨率比较长时,上下不够,会裁掉下面;

分辨率比较高时,左右不够,会裁掉左边。

4、FIXED_HEIGHT

固定高度:visibleSize height:640 //永远固定高为640

5、FIXED_WIDTH

固定宽度


一般情况下主要使用第一种EXACT_FIT。在项目的AppDelegate的init()中:

//480*800屏幕适配方式为:EXACT_FIT拉伸

director->getOpenGLView()->setDesignResolutionSize(480, 800, ResolutionPolicy::EXACT_FIT);

1.1、窗口分辨率

 在AppDelegate.cpp中有个设置窗口分辨率的函数。该函数是设置了我们预想设备的屏幕大小,也就是应用程序窗口的大小。

 glView->setFrameSize(480, 320);  

1.2、设计分辨率(可视区域)

 在AppDelegate.cpp中也有个设置设计分辨率的函数。该函数是设置了我们游戏设计时候的分辨率,也就是可视区域的大小,也就是说设计者初衷的游戏可视区域的分辨率屏幕大小。

    但是对于每个用户来说,他们使用的设备不一定是(480/320)的,比如手机有大有小。

    而后面的ResolutionPolicy::SHOW_ALL,意思是按照原比例(480/320)进行放缩以适配实际屏幕大小。

 glview->setDesignResolutionSize(480, 320, ResolutionPolicy::SHOW_ALL);  



上面分辨率部分参考自:http://blog.youkuaiyun.com/chinahaerbin/article/details/39586281

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值