使用cocos2dx 3.2和cocosstudio屏幕适配总结----相对布局
屏幕适配的文章太多了,基本上都是理论性的东西。大家明确了机制就知道了。没有完美的适配方案,除非你们的美工愿意折腾。
常规策略:
今天研究了一下屏幕适配导致的缩放和展示不全的问题(黑边的方案直接淘汰)。细想一下。美工给我们一张图(如果这张图width足够长),在不同的分辨率上我们应该怎样对其展示?肯定不可能在全部的分辨率上把这张图完美的依照原比例展示出来,那答案就仅仅有两种了:
1、铺满屏幕(长宽非等比缩放 EXACTFIT)
天天德州就採用了这样的方法,在不同的分辨率上能明显看到元素被缩放或者拉伸了。对于休闲类游戏不必太过追求完美。
就不上图了。
2、部分图片被遮挡(长宽等比缩放 FIXHEIGHT)
保卫萝卜即用了这样的方式,场景中的控件相对布局大小等比缩放。
因为背景图採用了足够长的图片。在较宽的手机上背景图会展示的多,较窄的手机上展示的比較少。
请看以下两张图的四个角:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFuYmluZ2Zlbmd5aW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
上面是手机截图原图。从上图能够看到控件的大小是一样的,可是因为分辨率的不同导致背景图的展示宽度不同。
方案測试:
第一种fit的方式就不说了,960*640的布局就OK。以下就使用cocosstudio来測试制作一下另外一种方案的场景。(吐槽一下。cocos preview实在是不能用。怪不得仅仅能叫preview)
測试方案一:
根节点使用绝对布局,勾选自适应屏幕。 子空间尺寸不勾选百分比(以免宽高非等比缩放导致变形),控件布局勾选百分比。480*320分辨率,背景图片大小也是480*320。
cocosstudio例如以下:
改动屏幕大小:
1.
glview->setFrameSize(, 320);
glview->setDesignResolutionSize(480, 320, ResolutionPolicy::FIXED_HEIGHT);
2.
glview->setFrameSize(, 320);
glview->setDesignResolutionSize(480, 320, ResolutionPolicy::FIXED_HEIGHT);
下图能够看到控件都未做不论什么拉伸,背景图明显小了。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFuYmluZ2Zlbmd5aW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
測试方案二:
根节点使用绝对布局,勾选自适应屏幕。
子空间尺寸不勾选百分比(以免宽高非等比缩放导致变形),控件布局勾选百分比。
480*320分辨率,背景图片大小则改为640*320。
改动屏幕大小:
1.
glview->setFrameSize(, 320);
glview->setDesignResolutionSize(480, 320, ResolutionPolicy::FIXED_HEIGHT);
改动屏幕大小:
2.
glview->setFrameSize(, 320);
glview->setDesignResolutionSize(480, 320, ResolutionPolicy::FIXED_HEIGHT);
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFuYmluZ2Zlbmd5aW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
改动屏幕大小:
3.
glview->setFrameSize(,);
glview->setDesignResolutionSize(480, 320, ResolutionPolicy::FIXED_HEIGHT);
结论:
測试用例为了展示效果使用的分辨率比較夸张,正常情况下长宽比是不会不会差距这么明显。
假设对于背景要求不是非常严格的游戏,能够採用另外一种来做屏幕适配。 控件宽高保持等比缩放,背景图部分展示就可以。
PS:1、对于理论性的东西只是与陈述。仅仅问方案究竟行,还是不行!
2、以上图片请勿用作商业用途,版权归光辉和老B同学全部。
使用cocos2dx 3.2和cocosstudio屏幕适配总结----相对布局的更多相关文章
- cocos2d-x结合cocosbuilder,不同屏幕适配小结
这个问题搞了好几天才解决,在此总结一下: 首先约定只使用一套图片资源同时应用于iphon4和iphon5(测试过在ipad下也能显示正常), 这里我们将需要全屏显示的背景制作为iphon5的尺寸即:1 ...
- 屏幕适配 - JS - 网站布局元素
网页可见区域宽:document.body.clientWidth; 网页可见区域高:document.body.clientHeight; 网页可见区域高:document.body.offsetW ...
- Android屏幕适配问题详解
上篇-Android本地化资源目录详解 :http://www.cnblogs.com/steffen/p/3833048.html 单位: px(像素):屏幕上的点. in(英寸):长度单位. mm ...
- cocos2d-x 3.10 屏幕适配问题
cocos2d-x 的屏幕适配问题困扰了我很久,差不多有一个星期吧.通过亲身实践才解决了问题,分享一下解决办法,供大家借鉴学习. 其实解决办法很简单,把下面代码注释掉就好了 // if (frameS ...
- cocos2dx屏幕适配方案
我们在利用cocos2dx来开发游戏时,在开始时就不可避免的会遇到屏幕适配问题,来使我们的游戏适应移动终端的各种分辨率大小.目前,大家采用的屏幕适配方案不一,网上的资料也比较丰富,下面我也将自己使用的 ...
- Cocos2d-x——Cocos2d-x 屏幕适配新解 – 兼容与扩展【转载】
Cocos2d-x 屏幕适配新解 – 兼容与扩展 本文出自[无间落叶](转载请保留出处):http://blog.leafsoar.com/archives/2013/05-13-08.html 在读 ...
- Cocos2d-x——Cocos2d-x 屏幕适配新解【转载】
Cocos2d-x 屏幕适配新解 本文出自[无间落叶](转载请保留出处):http://blog.leafsoar.com/archives/2013/05-10-19.html 为了适应移动终端的各 ...
- cocos2d-x 屏幕适配新解
转自:http://blog.leafsoar.com/archives/2013/05-10-19.html 为了适应移动终端的各种分辨率大小,各种屏幕宽高比,在 cocos2d-x(当前稳定版:2 ...
- cocos2dx ——屏幕适配
本文出自 “夏天的风” 博客,请务必保留此出处 http://shahdza.blog.51cto.com/2410787/1550089 手机的屏幕大小千差万别,如现在流行的安卓手机屏幕大部分长宽比 ...
随机推荐
- Copying
Aliasing can make program difficult to read because changes made in one place might have unexpected ...
- 【DotNetNuke介绍】
简介 DotNetNuke(以下简称DNN)的最终目的是创建一个门户的框架平台,这个平台可以为开发者增添模块搭建应用程序提供坚实的可靠的支持.应用程序的一个关键的功能就是数据存取..NET Frame ...
- Access-Control-Allow-Origin 如何设置多个值呢
需求就是多个网站请求同一个api服务器和这里一样https://segmentfault.com/q/10... 我不是做后端的,但是我们后端不知道怎么设置,在web.config里设置了一下 < ...
- SVN: repository browser 库浏览器
SVN: repository browser 库浏览器 -----如果不想全部下载,可以通过repository browser 库浏览器 从库中选择要下载的文件夹内容下载(svn针对性下载)
- sql 除法运算 保留两位小数
sql 除法运算 保留两位小数 SELECT 1530/60 select cast(1530*1./60 as decimal(18,1))
- c# 值类型 之枚举
1声明枚举(enum)类型的变量 enum 变量名 { //标识符列表中,元素与元素之间用 , 逗号分隔: 标识符列表 } 枚举列表中的每个符号代表一个整数值,一个比他前面符号大的整数值,默认情况下, ...
- datable
$("#table_d").append("<table id='dmglTable' class='table table-striped table-hover ...
- 最小生成树(MST) prim() 算法 kruskal()算法 A - 还是畅通工程
某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离. 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公 ...
- oracle创建静态监听
[oracle@localhost admin]$ pwd /u01/app/oracle/product/11.2.0/dbhome_1/network/admin [oracle@localhos ...
- 到2023年将会有超过90%的PC采用SSD硬盘
本文转载自超能网,其他媒体转载需经超能网同意 现在买电脑或者自己装机,还有谁不要SSD硬盘吗?这个问题似乎没什么可说的,SSD硬盘各种好,装机可以说是必选了,但实际上现在的SSD适配率并没有想象中那么 ...