使用Cocos2d-x 3.2和Cocos Studio做屏幕适配方案总结
来源:互联网 发布:什么软件可以学数学 编辑:程序博客网 时间:2024/05/09 17:34
常规策略:
今天研究了一下屏幕适配导致的缩放和展示不全的问题(黑边的方案直接淘汰)。细想一下,美工给我们一张图(假设这张图width足够长),在不同的分辨率上我们应该如何对其展示?肯定不可能在所有的分辨率上把这张图完美的按照原比例展示出来,那答案就只有两种了:
1、铺满屏幕(长宽非等比缩放 EXACTFIT)
天天德州就采用了这种方法,在不同的分辨率上能明显看到元素被缩放或者拉伸了,对于休闲类游戏不必太过追求完美。就不上图了。
2、部分图片被遮挡(长宽等比缩放 FIXHEIGHT)
保卫萝卜即用了这种方式,场景中的控件相对布局大小等比缩放。 由于背景图采用了足够长的图片,在较宽的手机上背景图会展示的多,较窄的手机上展示的比较少。
请看下面两张图的四个角:
上面是手机截图原图,从上图可以看到控件的大小是一样的,但是由于分辨率的不同导致背景图的展示宽度不同。
方案测试:
第一种fit的方式就不说了,960*640的布局就OK。下面就使用Cocos Studio来测试制作一下第二种方案的场景。
测试方案一:
根节点使用绝对布局,勾选自适应屏幕。 子空间尺寸不勾选百分比(以免宽高非等比缩放导致变形),控件布局勾选百分比。480*320分辨率,背景图片大小也是480*320。
Cocos Studio如下:
修改屏幕大小:
1.
glview->setFrameSize(480, 320);
glview->setDesignResolutionSize(480, 320, ResolutionPolicy::FIXED_HEIGHT);
2.
glview->setFrameSize(640, 320);
glview->setDesignResolutionSize(480, 320, ResolutionPolicy::FIXED_HEIGHT);
下图可以看到控件都未做任何拉伸,背景图明显小了。
测试方案二:
根节点使用绝对布局,勾选自适应屏幕。 子空间尺寸不勾选百分比(以免宽高非等比缩放导致变形),控件布局勾选百分比。480*320分辨率,背景图片大小则改为640*320。
修改屏幕大小:
1.
glview->setFrameSize(480, 320);
glview->setDesignResolutionSize(480, 320, ResolutionPolicy::FIXED_HEIGHT);
修改屏幕大小:
2.
glview->setFrameSize(640, 320);
glview->setDesignResolutionSize(480, 320, ResolutionPolicy::FIXED_HEIGHT);
修改屏幕大小:
3.
glview->setFrameSize(640,480);
glview->setDesignResolutionSize(480, 320, ResolutionPolicy::FIXED_HEIGHT);
结论:
测试用例为了展示效果使用的分辨率比较夸张,正常情况下长宽比是不会不会差距这么明显。如果对于背景要求不是很严格的游戏,可以采用第二种来做屏幕适配。 控件宽高保持等比缩放,背景图部分展示即可。
- 使用Cocos2d-x 3.2和Cocos Studio做屏幕适配方案总结
- 使用Cocos2d-x 3.2和Cocos Studio做屏幕适配方案总结
- cocos2d-x 屏幕适配方案
- cocos2d-x 屏幕适配方案
- Cocos2d-x自带的屏幕适配方案
- Cocos2d 屏幕适配方案
- cocos2d-x 3.2 使用cocos studio导出的帧动画
- cocos2d-x多分辨率适配方案:setDesignResolutionSize使用
- cocos2d-x多分辨率适配方案:setDesignResolutionSize使用
- cocos2d-x多分辨率适配方案:setDesignResolutionSize使用
- cocos2d-x多分辨率适配方案:setDesignResolutionSize使用
- Cocos2d-js的屏幕适配方案
- COCOS2D-JS的屏幕适配方案
- COCOS2D-JS的屏幕适配方案
- cocos2D的屏幕适配方案1
- cocos2dx v3.x 屏幕适配方案
- Mac下使用Cocos2d-x Lua加载Cocos Studio到处的Json文件和动画
- 如何使用Cocos Studio创建对话框,并用Cocos2d-x显示
- 第一个技术博客,走起
- 动态规划
- Android中Activity的生命周期
- jQuery和界面元素
- 给程序员的忠告(转)
- 使用Cocos2d-x 3.2和Cocos Studio做屏幕适配方案总结
- 第13周项目1-数组大折腾(5)
- HTML5学习之fileReader
- problem中Project'XX'is missing required library:'[路径]\XXX.jar'解决方法
- 第13周项目1删除数组中所有能被3整除的元素
- 数组排序(1)
- 深入理解java异常处理机制
- LeapMotion SDK开发,常用功能总结
- Jenkins FQA