1、兩個解析度
1.1、視窗解析度
在main.cpp中有個設定視窗解析度的函式。該函式是設定了我們預想裝置的螢幕大小,也就是應用程式視窗的大小。
1.2、設計解析度(可視區域)但是對於每個使用者來說,他們使用的裝置不一定是(480/320)的,比如手機有大有小。//
eglview->setframesize(480, 320);
//
而後面的kresolutionshowall,意思是按照原比例(480/320)進行放縮以適配實際螢幕大小。
以下貼了三張對比圖,加深理解。(1)這是原大小,視窗大小為480 * 320。//
cceglview::sharedopenglview()->setdesignresolutionsize(480,320,kresolutionshowall);
//

(2)若設定視窗大小為setframesize(960, 640),而不設定設計解析度kresolutionshowall的情況下,不放縮,原圖還是480 * 320。
(3)設定了kresolutionshowall之後,放縮到適配整個螢幕960 * 640 了。
2、五種適配模式
從上面的講解我們可以了解到,setframesize()是設定了視窗大小(即螢幕的實際大小),而這個引數只是為了我們開發時作為模擬參照,在實際手機上執行時,手機的螢幕大小是我們無法設定的。
而螢幕適配的關鍵在於setdesignresolutionsize(),通過它來設定可視區域的解析度以及螢幕適配模式。該函式的前兩個引數為解析度(即螢幕長寬比例),而最後乙個引數則是適配的模式。
2.1、適配模式
(1)kresolutionexactfit:拉伸變形,使鋪滿螢幕。
(2)kresolutionnoborder:按比例放縮,全屏展示不留黑邊。
(長寬中小的鋪滿螢幕,大的超出螢幕)
(3)kresolutionshowall:按比例放縮,全部展示不裁剪。
(長寬中大的鋪滿螢幕,小的留有黑邊)
(4)kresolutionfixedwidth:按比例放縮,寬度鋪滿螢幕。
(5)kresolutionfixedheight:按比例放縮,高度鋪滿螢幕。
2.2、計算方法
假設:螢幕解析度(fwidth,fheight) ; 設計解析度(dwidth,dheight)。
放縮因子:k1 = fwidth/dwidth ; k2 = fheight/dheight。
則適配後的解析度大小如下:
(1)kresolutionexactfit:( dwidth * k1 , dheight * k2 )
(2)kresolutionnoborder:( dwidth * max(k1,k2) , dheight * max(k1,k2) )
(3)kresolutionshowall:( dwidth * min(k1,k2) , dheight * min(k1,k2) )
(4)kresolutionfixedwidth:( dwidth * k1 , dheight * k1 )
(5)kresolutionfixedheight:( 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:可視區域的左下角座標
**://
ccdirector::shareddirector()->getwinsize()
ccdirector::shareddirector()->getvisiblesize();
ccdirector::shareddirector()->getvisibleorigin();
//
cocos2dx 螢幕設定
聲 明 一 設定啥 首先是換豎屏,然後還有個比較重要的,就是自適屏。二 橫豎換屏 1.開啟main.cpp檔案 找到eglview setframesize 320,480 這裡設定成你要的解析度,用於開發。2.生成android專案後修改androidmanifest.xml檔案 android ...
cocos2d x螢幕適配
第一,對於螢幕適配問題,首先必須理解幾個基本的概念。framesize 實 際上就是裝置的原始解析度,開發環境中可以通過cceglview sharedopenglview setframesize 來設 置裝置的解析度大小,當然也可以可以通過cceglview sharedopenglview g...
cocos2dx 螢幕設定
聲 明 一 設定啥 首先是換豎屏,然後還有個比較重要的,就是自適屏。二 橫豎換屏 1.開啟main.cpp檔案 找到eglview setframesize 320,480 這裡設定成你要的解析度,用於開發。2.生成android專案後修改androidmanifest.xml檔案 android ...