cocos2dx 屏幕適配

我們都知道在手機遊戲的設計開發中我們需要考慮遊戲移植到手機上後的屏幕展示大小。

當然,手機屏幕的大小是不固定的: 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  :可視區域的左下角座標


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章