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狀況。分辨率和適配方案只是決定一個大致,在此基礎上還有不少佈局的方式,固定座標,百分比座標,相對座標,能夠進行一個更多的深刻的探討和設計。

相關文章
相關標籤/搜索