我們都知道在手機游戲的設(shè)計開發(fā)中我們需要考慮游戲移植到手機上后的屏幕展示大小。
當(dāng)然,手機屏幕的大小是不固定的: 1.安卓機大部分是長寬比例(16:9)
2.蘋果機的71:41約等于(16:9)
3.另外還有一些平板電腦是4:3等
分辨率是屏幕所能顯示像素的多少。
我們只能在設(shè)計中設(shè)置游戲展示分辨率的多少并不能去設(shè)置實際手機窗口的大小。
所以cocos2dx給我們準(zhǔn)備了幾種屏幕適配的方法:
(也就是通過設(shè)置設(shè)計分辨率和手機實際窗口分辨率的大小去適應(yīng)實際的手機窗口大小)
(1)ResolutionPolicy::EXACT_FIT :拉伸變形(分別按照寬高因子進行設(shè)置)
(2)ResolutionPolicy::NO_BORDER :按比例放縮(按較大的因子)
(3)ResolutionPolicy::SHOW_ALL :按比例放縮(按較小的因子)
(4)ResolutionPolicy::FIXED_WIDTH :按比例放縮(按照寬度比例)
(5)ResolutionPolicy::FIXED_HEIGHT :按比例放縮(按照高度比例)
假設(shè):屏幕分辨率(fWidth,fHeight) ; 設(shè)計分辨率(dWidth,dHeight)。
放縮因子:k1 = fWidth/dWidth ; k2 = fHeight/dHeight。
則適配后的分辨率大小如下:
(1)EXACT_FIT :( dWidth * k1 , dHeight * k2 )
(2)NO_BORDER :( dWidth * max(k1,k2) , dHeight * max(k1,k2) )
(3)SHOW_ALL :( dWidth * min(k1,k2) , dHeight * min(k1,k2) )
(4)FIXED_WIDTH :( dWidth * k1 , dHeight * k1 )
(5)FIXED_HEIGHT :( dWidth * k2 , dHeight * k2 )
PS:
(1)WinSize :屏幕大小
(2)VisibleSize :可視區(qū)域大小
(3)VisibleOrigin :可視區(qū)域的左下角坐標(biāo)
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。