闲来无事,整理了一下cocos2dx的屏幕适配策略,本文适用于想快速理解cocos2dx适配的开发者。
我们先假设:以854 * 480 的屏幕为标准进行开发,当然,这也就是cocos2dx所说的设计分辨率(Design Resolution)。
先介绍几个cocos2dx的常用函数:
CCEGLView::sharedOpenGLView()->setDesignResolutionSize()//设计分辨率大小(即开发时为基准的屏幕分辨率)
CCEGLView::sharedOpenGLView()->setFrameSize() //设置win32模拟器的分辨率
CCEGLView::sharedOpenGLView()->getFrameSize() //屏幕分辨率,实际的硬件参数
一、准备图片资源
准备一张854 * 480 的图片,这里我用红色线对图片的四个边描了一下边,以保证图片不能完全显示时,方便我们看出来。
二、直接使用三种适配策略
//kResolutionExactFit x,y都拉伸,使铺满屏幕
//kResolutionNoBorder 一个方向铺满屏幕,另外一个方向超出屏幕
//kResolutionShowAll 854 * 480 的设计区域全部可见,但是可能留有黑边(如在960 * 640的屏幕上)
以上三种原理这里不再赘述,详细可参考这里:http://www.ityran.com/archives/4809
既然我们是以854 * 480 为基准来开发游戏,那么我们这里将设计分辨率设置为854 * 480 。
- pEGLView->setDesignResolutionSize(854,480,kResolutionNoBorder);
三、看效果
下面,我们设置win32模拟器的分辨率为960*640,来看一下三种适配策略的效果。
kResolutionExactFit效果: