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...