中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

临夏市| 漳浦县| 宜兴市| 平舆县| 湖南省| 九寨沟县| 兴国县| 桦川县| 长宁县| 泸溪县| 五家渠市| 资讯| 浦县| 瑞丽市| 靖宇县| 商城县| 威宁| 朔州市| 黑山县| 武穴市| 项城市| 宜宾县| 揭东县| 城口县| 万盛区| 卫辉市| 九江市| 石景山区| 南宫市| 同仁县| 大关县| 鄄城县| 锡林浩特市| 同江市| 六枝特区| 灌阳县| 罗城| 衡东县| 泾川县| 兴国县| 桑日县|