多分辨率适配问题的一点猜想

今天试了试多分辨率适配的东西,问题还是颇多得不到解决。首先,UI控件的百分比是相对于默认的PANEL来说的,而这个panel的适配其实跟背景是一样的,所以就有可能出现panel被裁剪了,所以有的UI控件自然也就被裁剪了。当然也可以大于宽高比还是小于宽高比来选择是适配高度还是宽度,从而做到只有黑边,没有裁剪,这个时候把背景拉伸一下,填满即可,但是这种做法貌似也不是太好,因为你的UI控件摆放看起来不够自然,本来UI控件在角落但是实际上偏离角落许多。造成这么多问题的原因还是因为宽高比不一样,于是想到了用编辑器多编辑几个常见的宽高比的UI,UI控件的大小缩放下,只要不拉伸的太离谱即可,这样,代码中根据宽高比来加载适合宽高比的UI配置文件(如果有特别奇葩的,可以找到相近的UI宽高比,此时也是采用有黑边,没裁剪的方案适配,但至少UI控件看上去不会差太多),但是这种方案也有个问题,就是导出项目资源的时候,图片文件会有重复,不能重复利用一套资源,所以如果编辑器可以有一个选项,可以让几个画布共享一套资源,就好了。
关于多分辨率适配一直都是个疑难杂症,希望大家也说下自己的解决方案吧,积极讨论一下吧,不要让帖子沉了,拿出一套最优的解决方案,我就在这里抛砖引玉了,楼下顶起~:760:

看贴回复是种美德啊,不要让帖子沉了哇

如果有一个类似ngui中的uianchor可以把控件固定在相对于屏幕上的某点的东西,就好了哇~

我是直接拉伸适配的,最起码能过正常游戏,其他方式都会或多或少影响游戏,个人想法

拉伸是可以,要看美术这面拉伸的影响大不大了。如果影响不大,那也算完美啦~

自己顶上去~

为什么我用cocosbuilder做的UI,都可以拉伸分辨率自适应,但是用cocostudio做的就不行呢?根本不见UI拉伸,设置任何参数都不行,就始终只有一小块区域,而且还贴在屏幕的左中位置,其他位置都是黑色的

请问您用的是哪个版本的cocostudio呢?

老版本可以使setContentScaleFactor()方法直接拉伸pDirector的大小。

新版本则可以通过设置百分比属性根据屏幕大小来调整坐标和大小。(目前的版本需要手动设置根节点的大小,后续版本将在引擎中自动完成)