我們都知道在手機遊戲的設計開發中我們需要考慮遊戲移植到手機上後的屏幕展示大小。
當然,手機屏幕的大小是不固定的: 1.安卓機大部分是長寬比例(16:9)
2.蘋果機的71:41約等於(16:9)
3.另外還有一些平板電腦是4:3等
分辨率是屏幕所能顯示像素的多少。
我們只能在設計中設置遊戲展示分辨率的多少並不能去設置實際手機窗口的大小。
所以cocos2dx給我們準備了幾種屏幕適配的方法:
(也就是通過設置設計分辨率和手機實際窗口分辨率的大小去適應實際的手機窗口大小)
(1)ResolutionPolicy::EXACT_FIT :拉伸變形(分別按照寬高因子進行設置)
(2)ResolutionPolicy::NO_BORDER :按比例放縮(按較大的因子)
(3)ResolutionPolicy::SHOW_ALL :按比例放縮(按較小的因子)
(4)ResolutionPolicy::FIXED_WIDTH :按比例放縮(按照寬度比例)
(5)ResolutionPolicy::FIXED_HEIGHT :按比例放縮(按照高度比例)
假設:屏幕分辨率(fWidth,fHeight) ; 設計分辨率(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 :可視區域大小
(3)VisibleOrigin :可視區域的左下角座標