cocos2d-x的屏幕适配
在之前的几个demo和项目中,我总是在寻求一种具有 普遍适应性 的屏幕适配方案,后来一直未能实现。不过,针对不同的项目,可以找到相对最优的屏幕适配方案。
简单的讲,屏幕适配分2个步骤,共10种解决方案(资源分辨率->(2个)设计分辨率->(5个)屏幕分辨率
资源分辨率和屏幕分辨率都比较好理解,对于设计分辨率,我的理解是,把它看作一个中间的临时分辨率就行。 有如下几个比较常用的接口 setDesignResolutionSize() //设计分辨率大小及模式 setContentScaleFactor() //内容缩放因子 setSearchPaths() //资源搜索路径 getFrameSize() //屏幕分辨率 getWinSize() //设计分辨率 getVisibleSize() //设计分辨率可视区域大小 getVisibleOrigin() //设计分辨率可视区域起点 【资源分辨率->(2个)设计分辨率】 这个步骤主要用到接口setContentScaleFactor()和setSearchPaths() setContentScaleFactor()通过资源宽、高比设计分辨率宽、高 作为因子来缩放资源的大小 假设有以下参数 资源分辨率 480*700 设计分辨率 && 屏幕分辨率 480*320
原资源图
资源宽 比 设计分辨率宽
资源高 比 设计分辨率高
用高度比作为内容缩放因子,保证了背景资源的垂直方向在设计分辨率范围内的全部显示。
【设计分辨率->(5个)屏幕分辨率】 这一步骤主要用到 setDesignResolutionSize() 这个函数,其参数如下 参数
假设有以下参数 资源分辨率 480*700 设计分辨率 480*700 屏幕分辨率 480*320
ResolutionPolicy::SHOW_ALL
适合高方向需要撑满,宽方向可裁减的游戏,结合setContentScaleFactor(RH/DH)使用。 适合宽方向需要撑满,高方向可裁减的游戏,结合setContentScaleFactor(RW/DW)使用。
以上可自由组合成10中方案,具体如何设定,要根据项目情况来做出合适的选择。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |