Cocos屏幕适配方案解析

昨天在新公司上班,而后和美术讨论cocos分辨率的问题,我竟然解释不清楚,深感惭愧,一直以来的思惟定势,认为就是那样,或者说我日常就是那么作的,这已经最好的策略,但这真的是一种极为可怕的思想,很容易让人固步自封不能进步。不少时候,我知道那种作就好了,而后就不肯意进行深刻的探究,其实知道其因此然,而后再去作的时候才有可能获得更好的方案,万一搞出个完美的方案呢,虽然几率很低。万一获得一点其余方面的长进呢?这是确定的。布局

  • 分辨率概念ui

一般咱们会将分辨率分为2种,设计分辨率以及屏幕分辨率。
设计分辨率能够理解为美术在ui设计的时候的原始分辨率
屏幕分辨率能够理解为手机的实际屏幕分辨率,不过千万不要和屏幕大小混为一谈,比方早期的iPhone3GS的屏幕分辨率是320480(PPI=163),iPhone4中,一样大小(3.5 inch)的屏幕采用了Retina显示技术,横、纵向方向像素密度都被放大到2倍,像素分辨率提升到(320x2)x(480x2)= 960x640(PPI=326),两个屏幕同样大的手机,可是分辨率是不同的,若是把320480的图片放到iPhone3GS正好是全屏,而在iPhone4中只占据了屏幕的1/4.若是要将图片在iPhone4也正好看起来全屏的话,须要将图片放大4倍。不错,游戏里的适配就是这么干的。对于长宽比同样的屏幕,只要简单的缩放就能够了。设计

  • 经常使用的适配方案code

1.ShowAll游戏

等比例拉伸,保证宽度和高度都所有显示,这种状况当设计分辨率和屏幕分辨率不一样的时候宽或者高必然会有黑边

2.ExactFit图片

宽高非等比拉伸,这样就会致使变形

3.NoBorderip

等比例拉伸,和showall模式是同样的,只是拉伸的因子是与showall相反,是根据拉伸因子比较大的来的,因此确定会有长度或者宽度被截

4.FixedHeight资源

等比例拉伸,理解上来讲是固定高度,实际上只是将拉伸因子固定以高度比来表示而已,通常来讲竖屏的一般会采用这种方式,

5.FixedWidthit

等比例拉伸,以宽度比做为拉伸因子,通常横版会采用这种方式

其实一开始只有前面3种可选的模式,而后有网友研究出了后面两种形式能够更好的解决屏幕适配问题。发展到目前,实际上也有第六种模式,FixedHeight和FixedWidth的组合模式,甚至更为复杂的状况。由于极限状况下不少游戏在pad上显示看起来有些怪异,因此每每会FixedHeight与FixedWidth进行结合。甚至有的游戏会看界面来修改适配方案(cocos creator目前默认支持根据界面来选择适配方案)基础

6.FixedHeight和FixedWidth组合

若是屏幕设计分辨率是1136*640的话,基本上不会考虑这种组合形式。为何呢?1136*640是全部屏幕中长宽比最小的,这种状况下只要换成FixedWidth必然致使有效图形会到屏幕外面。
一般会采用960*640,这个是全部屏幕中比较中庸的的一个屏幕.咱们将3者屏幕先进行一个变换:ipad的屏幕咱们能够看做853*640

因此咱们实际上要适配的就是1136 960 853三个屏幕。那么到底选用哪种做为方案?若是说既要考虑ipad又要考虑1136,显然用960会比较合适,由于不管到1136仍是853其变化都相对比较小。若是说咱们更考虑的是1136屏幕,而其余屏幕要求不高,仍是能够采用1136,实际上对于固定宽度的作法,采用哪个做为设计分辨率都是没有区别的,无非图片大小。固然了到底采用设计分辨率来处理有几个要素:1.市面上哪类手机占比最多2.如今的资源情况3.美术效果 从目前来看,历史缘由,必须采用1136,这样才能保证资源的统一。其实960这个屏幕也在慢慢退出历史舞台,之后极可能出现的一种状况就是只要考虑1136以及853状况。分辨率和适配方案只是决定一个大致,在此基础上还有不少布局的方式,固定坐标,百分比坐标,相对坐标,能够进行一个更多的深刻的探讨和设计。

相关文章
相关标签/搜索