兩分鐘讓你明白cocos2dx的螢幕適配策略

2021-09-09 03:09:30 字數 1986 閱讀 3507

閒來無事,整理了一下cocos2dx的螢幕適配策略,本文適用於想快速理解cocos2dx適配的開發者。

我們先假設:以854 * 480 的螢幕為標準進行開發,當然,這也就是cocos2dx所說的設計解析度(design resolution)。

先介紹幾個cocos2dx的常用函式:

cceglview

::sharedopenglview

()->

setdesignresolutionsize

()//設計解析度大小(即開發時為基準的螢幕解析度)

cceglview

::sharedopenglview

()->setframesize() //設定win32模擬器的解析度

cceglview

::sharedopenglview

()->

getframesize

()//

螢幕解析度,實際的硬體引數

準備一張854 * 480 的,這裡我用紅色線對的四個邊描了一下邊,以保證不能完全顯示時,方便我們看出來。

//kresolutionexactfit x,y都拉伸,使鋪滿螢幕

//kresolutionnoborder 乙個方向鋪滿螢幕,另外乙個方向超出螢幕

//kresolutionshowall  854 * 480 的設計區域全部可見,但是可能留有黑邊(如在960 * 640的螢幕上)

以上三種原理這裡不再贅述,詳細可參考這裡:

既然我們是以854 * 480 為基準來開發遊戲,那麼我們這裡將設計解析度設定為854 * 480 。

peglview->setdesignresolutionsize(854 ,480 ,kresolutionnoborder);
下面,我們設定win32模擬器的解析度為960*640,來看一下三種適配策略的效果。

kresolutionexactfit效果:

這裡可以看出,由於適配策略拉伸,x,y方向都填滿了,同時也沒有超出螢幕的情況,但是和下面兩張比較,變形了。

kresolutionnoborder效果:

這裡也可看出,左右的紅色描邊都不見了,由於螢幕比例和設計比例不一致,該適配策略能夠鋪滿螢幕,但是原圖超出了螢幕。

kresolutionshowall效果:

這裡,該策略使設計解析度的所有內容均可見,但是由於實際螢幕比例和設計解析度的比例不一致,會出現黑邊的情況。

對於乙個遊戲,多套資源,涉及到在不同螢幕解析度情況下就需要使用不同的資源了,直接點說,大螢幕用大圖,小螢幕用小圖。

同時,由於資源寬高比和設計解析度的寬高比可能不一致,也需要按照某個比例對資源進行縮放。

詳情見:

兩分鐘讓你明白什麼是ERP

erp enterprise resource planning 企業資源計畫系統,是指建立在資訊科技基礎上,以系統化的管理思想,為企業決策層及員工提供決策執行手段的管理平台。妻子 當然可以,來幾個人,幾點來,想吃什麼菜?丈夫 6個人,我們7點左右回來,準備些酒 烤鴨 番茄炒蛋 冷盤 蛋花湯 你看可...

兩分鐘讓你明白什麼是ERP!

日期 2005 05 07 字型 大 中 小 erp enterprise resource planning 企業資源計畫系統,是指建立在資訊科技基礎上,以系統化的管理思想,為企業決策層及員工提供決策執行手段的管理平台。妻子 當然可以,來幾個人,幾點來,想吃什麼菜?丈夫 6個人,我們7點左右回來,...

兩分鐘讓你明白什麼是ERP!

erp enterprise resource planning 企業資源計畫系統,是指建立在資訊科技基礎上,以系統化的管理思想,為企業決策層及員工提供決策執行手段的管理平台。妻子 當然可以,來幾個人,幾點來,想吃什麼菜?丈夫 6個人,我們7點左右回來,準備些酒 烤鴨 番茄炒蛋 冷盤 蛋花湯 你看可...