亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Cocos2d-x開發之第二篇《設置模擬器大小及實際分辨率》

發布時間:2020-03-30 19:00:45 來源:網絡 閱讀:2570 作者:guozhendan 欄目:游戲開發

接上一篇《創建工程》


1、在D:\cocos2d-x-2.2.5\projects\MyGame\proj.win32中有main.cpp文件,內容如下:

 Cocos2d-x開發之第二篇《設置模擬器大小及實際分辨率》

其中的eglView->setFrameSize(480, 320)是設置模擬器大小的(相當于是手機的實際尺寸),大家可以根據實際情況進行設置。

 

2、在D:\cocos2d-x-2.2.5\projects\MyGame\Classes中的AppDelegate.cpp是整個游戲的代理文件。由于考慮到Android手機各種屏幕分辨率問題,所以需要在這里設置統一的分辨率。如下:

 Cocos2d-x開發之第二篇《設置模擬器大小及實際分辨率》

正是那句CCEGLView::sharedOpenGLView()->setDesignResolutionSize這個函數。

第一個參數是: 分辨率寬;

第二個參數是: 分辨率高;

第三個參數是: 圖片適應屏幕分辨率的屬性,如:kResolutionExactFitkResolutionNoBorderkResolutionShowAll等等,主要用的是這三個。

 

3、下面分別對kResolutionExactFit、kResolutionNoBorder、kResolutionShowAll屬性做圖文講解。假設我們有一張540X960的png圖,然后把模擬器大小設置成480X320(對應實際手機屏幕尺寸),而分辨率設置成520X800(對應實際手機屏幕分辨率)通過如下函數設置:

CCEGLView::sharedOpenGLView()->setDesignResolutionSize(520, 800, 屬性);

 

540X960的圖如下:

 Cocos2d-x開發之第二篇《設置模擬器大小及實際分辨率》

 

當屬性為kResolutionExactFit時,如下結果:

 Cocos2d-x開發之第二篇《設置模擬器大小及實際分辨率》

由上得到的結論是:

背景圖片為了填充整個屏幕而擠壓變形了,還影響到了其它元素的顯示效果,比如:文本元素Hello World,右下角的按鈕,都變了形。

 

 

當屬性為kResolutionNoBorder時,如下結果:

 Cocos2d-x開發之第二篇《設置模擬器大小及實際分辨率》

由上得到的結論是:

背景圖片為以原圖片大小居中顯示,只截取了中間的一部分,不會影響其它元素的顯示效果(通常都用這個屬性,反正我是用這個屬性的),要注意的是這里和圖片的setPosition有關系,這里是setPosition屏幕中間的。

特別提醒:以kResolutionNoBorder屬性時,場景中的精靈位置需要加上CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();的坐標,否則會出現位置偏移的情況。

 

 

當屬性為kResolutionShowAll時,如下結果:

 Cocos2d-x開發之第二篇《設置模擬器大小及實際分辨率》

 

由上得到的結論是:

背景圖片等比例縮小,直到原始圖片高度與屏幕分辨率高相等,會影響其它元素的顯示,比如:文本元素和按鈕,顯示的位置會以大背景圖的顯示區域為基準。

 

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南陵县| 宾川县| 江都市| 平原县| 铜鼓县| 上虞市| 永济市| 额济纳旗| 城步| 衡南县| 永泰县| 巍山| 长岛县| 榆社县| 六枝特区| 阜阳市| 吉隆县| 论坛| 韶关市| 梁河县| 高雄市| 区。| 介休市| 大连市| 霍林郭勒市| 宜春市| 舟山市| 农安县| 新巴尔虎左旗| 潢川县| 凤台县| 海淀区| 理塘县| 炎陵县| 山西省| 名山县| 盘锦市| 汶川县| 梨树县| 宁化县| 绵阳市|