1. 简介
Cocos2d-x的分辨率可以分为两种:屏幕分辨率和设计分辨率。
屏幕分辨率就是屏幕窗口的大小,单位是像素。
设计分辨率单位是点,一个点可能包括多个像素。
如果把一台显示器自身的分辨率比作屏幕分辨率的话,我们在操作系统里设置的分辨率就是设计分辨率。
理想状态下,设计分辨率的点就是屏幕分辨率的像素,两种分辨率相等,此时成像效果最清晰。
对一个Cocos2d-x项目,我们在创建GLView时,可以设置屏幕分辨率,也可称为屏幕大小:
glview = GLViewImpl::createWithRect("Title",Rect(0,0,1000,400));
接下来设置设计分辨率:
glview->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::FIXED_HEIGHT);
3个参数:设计分辨率的宽,设计分辨率的高,分辨率的适配策略。
2. 分辨率的适配策略
在设置GLView的设计分辨率时,需要设置适配策略。
SHOW_ALL:按设计分辨率和屏幕分辨率比例放大,屏幕显示所有内容,不拉伸,屏幕可能有黑边。
NO_BORDER:按设计分辨率和屏幕分辨率比例放大,部分内容可能在屏幕外,不拉伸,没黑边。
EXACT_FIT:设计分辨率直接放大到屏幕分辨率,屏幕显示所有内容,拉伸,没黑边。
FIXED_HEIGHT:设计分辨率的高放大到屏幕分辨率的高,宽不够时自动缩放,不拉伸,没黑边,尽量保证所有内容在屏幕内。
FIXED_WIDTH:设计分辨率的宽放大到屏幕分辨率的宽,高不够时自动缩放,不拉伸,没黑边,尽量保证所有内容在屏幕内。