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  :可视区域的左下角座标


 

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