閒來無事,整理了一下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點左右回來,準備些酒 烤鴨 番茄炒蛋 冷盤 蛋花湯 你看可...