cocos2dx 3.6 屏幕适配

来源:互联网 发布:淘宝创意挂钩 编辑:程序博客网 时间:2024/05/16 10:05

1: 用一个设计分辨率来匹配不同的资源
直接修改setFrameSize
2:用一套资源来适配不同的设计分辨率


1: 背景适配

(1)第一种做法是把背景跟UI分开,背景手动放大,使背景超出屏幕位置。(做背景图片时应该把主要像素集中在背景的中心位置)

(2)第二种做法------ 拿宽度适配来举例:

因为是宽度适配,所以宽度会正好占满屏幕,此时可以把整个高度分成三部分来解决(把背景图片分出三张图)。  上--- 中----下,上面的图片拿代码固定在屏幕的最上方,下面的图片固定在屏幕的最下方,然后中间区域手动缩放比例。  此种做法优于第一种,不同手机比例看上去效果相同,但美术需要把一张背景图切割成三张。

2:UI适配

(1)第一种做法是UI全部拿代码写,可手动实现适配

(2)第二种做法是UI先拿cocos studio拼好,然后拿代码调整按钮的位置。


适配代码如下 : 

void AppDelegate::adaptPhone(GLView *glview){// 1920/1080 = 16:9 = 1.78   16:10 -> 16:9         16:12 -> 16:9//  1280/800 = 16:10 = 1.6  所以如果宽度适配,高度显示不全   如果高度适配,宽度会有黑边//资源大小Size resSize = AppDelegate::designSize;//1136, 768为美术出图的尺寸//屏幕大小auto winSize = Director::getInstance()->getWinSize();//x缩放比例float widthScale = winSize.width / resSize.width;//y缩放比例float heightScale = winSize.height / resSize.height;//背景图片 1136,768if (widthScale > heightScale)// <{//1432,800  所有坐标都是相对于这个分辨率glview->setDesignResolutionSize(resSize.width, resSize.height, ResolutionPolicy::FIXED_HEIGHT);}else{//1280,720  所有坐标都是相对于这个分辨率glview->setDesignResolutionSize(resSize.width, resSize.height, ResolutionPolicy::FIXED_WIDTH);}//高度适配 -----1136,768会自动缩放成 1366,768auto size = glview->getDesignResolutionSize();log("");}
参考链接: 

http://www.zaojiahua.com/adaptation.html

http://blog.csdn.net/chinahaerbin/article/details/39586281

http://www.tairan.com/archives/4018/


0 0
原创粉丝点击