if(!glview)
glview->setdesignresolutionsize(640, 1136, resolutionpolicy::no_border);
主要在setdesignresolutionsize方法的最後乙個引數,即適屏策略:
no_border:自動根據設計尺寸保證無邊,可能的情況有下面兩種:
當然還有一種是完全吻合
這時要注意的就是以下幾個引數:
director::getinstance()->getopenglview()->setdesignresolutionsize()
//設計解析度大小及模式
director::getinstance()->setcontentscalefactor() //內容縮放因子
fileutils::getinstance()->setsearchpaths() //資源搜尋路徑
director::getinstance()->getopenglview()->getframesize() //螢幕解析度
director::getinstance()->getwinsize() //設計解析度
director::getinstance()->getvisiblesize() //設計解析度可視區域大小
director::getinstance()->getvisibleorigin() //設計解析度可視區域起點
getvisibleorigin()根據裝置的解析度有可能會不同,所以ui等設定位置時要加上這個的偏移值
resolutionpolicy::exact_fit:這個一般不大用,是保證全部分顯示設計尺寸,會拉伸
resolutionpolicy::show_all:是跟no_border相反,是保證設計尺寸能全屏顯示在可見區域內,有以下兩種情況:
resolutionpolicy::fixed_height和resolutionpolicy::fixed_width:
resolutionpolicy::fixed_height保持傳入的設計解析度高度不變,根據螢幕解析度修正設計解析度的寬度。
resolutionpolicy::fixed_width保持傳入的設計解析度寬度不變,根據螢幕解析度修正設計解析度的高度。
fixed_height時要注意如果遊戲中的layer以0,0為anchor則要重新設定x軸的偏移量
fixed_width要注意y座標
lua:
realvisiblerect=cc.director:getinstance():getvisiblesize()--實際可見區域大小
realorigin=cc.director:getinstance():getvisibleorigin()--實際原點
cocos2d x 適應不同解析度
相同平台不同解析度 ccfileutils setsearchresolutionsorder 支援檔案分布策略,你可以像如下一樣查詢設定路徑 std vectorresdirorders resdirorders.push back ipadhd resdirorders.push back ip...
Cocos2d x 多解析度支援
最近遇到多解析度支援問題,所以查了一些資料。將一些收穫共享一下,以便自己和其他需要的朋友日後參考。如果我要建立乙個cocos2d x專案,我的目標是支援iphone3g 480,320 iphone4 4s 960,640 iphone5 1136,640 ipad1 2 1024,768 ipad...
Cocos2d x 多解析度適配完全解析
2 五種適配模式 從上面的講解我們可以了解到,setframesize 是設定了視窗大小 即螢幕的實際大小 而這個引數只是為了我們開發時作為模擬參照,在實際手機上執行時,手機的螢幕大小是我們無法設定的。而螢幕適配的關鍵在於setdesignresolutionsize 通過它來設定可視區域的解析度以...