Cocos2d x 多解析度適配完全解析

2021-08-11 12:16:21 字數 2424 閱讀 8260

2、五種適配模式

從上面的講解我們可以了解到,setframesize()是設定了視窗大小(即螢幕的實際大小),而這個引數只是為了我們開發時作為模擬參照,在實際手機上執行時,手機的螢幕大小是我們無法設定的。

而螢幕適配的關鍵在於setdesignresolutionsize(),通過它來設定可視區域的解析度以及螢幕適配模式。該函式的前兩個引數為解析度(即螢幕長寬比例),而最後乙個引數則是適配的模式。

2.1、適配模式

(1)resolutionpolicy::exact_fit    :拉伸變形,使鋪滿螢幕。

(2)resolutionpolicy::no_border    :按比例放縮,全屏展示不留黑邊。

(長寬中小的鋪滿螢幕,大的超出螢幕)

(3)resolutionpolicy::show_all     :按比例放縮,全部展示不裁剪。

(長寬中大的鋪滿螢幕,小的留有黑邊)

(4)resolutionpolicy::fixed_width  :按比例放縮,寬度鋪滿螢幕。

(5)resolutionpolicy::fixed_height :按比例放縮,高度鋪滿螢幕。

2.2、計算方法

假設:螢幕解析度(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         )

2.3、有圖有真相

螢幕大小:400 x 400 。

可視區域大小:480 x 320 。

根據上面的計算方法,自己慢慢琢磨吧。

3、橫豎換屏

cocos2dx開發的遊戲,在手機上執行的時候,預設是橫屏的。

3.1、android

androidmanifest.xml檔案中

(1)android:screenorientation = "landscape"   //橫屏顯示(預設)

(2)android:screenorientation = "portrait"    //豎屏顯示

4、螢幕大小及座標

(1)winsize        :螢幕大小

(2)visiblesize    :可視區域大小

(3)visibleorigin  :可視區域的左下角座標

Cocos2d x 多解析度支援

最近遇到多解析度支援問題,所以查了一些資料。將一些收穫共享一下,以便自己和其他需要的朋友日後參考。如果我要建立乙個cocos2d x專案,我的目標是支援iphone3g 480,320 iphone4 4s 960,640 iphone5 1136,640 ipad1 2 1024,768 ipad...

Cocos2d x塔防遊戲 多解析度適配完全解析

cocos2d x作為跨平台的遊戲引擎,適配基本所有的手持裝置,而開發者最頭疼的多解析度適配,在開發cocos2d x遊戲的時候已經被遊戲引擎完美解決。height 498 width 510 src frameborder 0 allowfullscreen 課程筆記 如何自動匹配解析度 在發布之...

cocos2d x 適應不同解析度

相同平台不同解析度 ccfileutils setsearchresolutionsorder 支援檔案分布策略,你可以像如下一樣查詢設定路徑 std vectorresdirorders resdirorders.push back ipadhd resdirorders.push back ip...