Cocos2d x中螢幕適配

2021-08-27 15:08:46 字數 967 閱讀 8141

影響螢幕適配的兩個因素:螢幕解析度和螢幕寬高比

目前ios的裝置解析度:

iphone4,4s:960*640

iphone5,5s:1136*640

ipad2:1024*768

ipad4:2048*1536

目前的引擎中提供有方法:

需要先明白的三個概念:

邏輯的螢幕解析度(winsize):setdesignresolutionsize中的寬度和高度

螢幕的實際大小(framesize):螢幕的真實解析度

cceglview* peglview = cceglview::sharedopenglview();

peglview ->setdesignresolutionsize(1136,640,kresolutionnoborder);

此時的1136,640表示邏輯上遊戲螢幕的大小(資源的大***,此時就是參考該大小,如果的大小是1136*640,那麼剛好鋪滿該邏輯螢幕的大小,如果比邏輯螢幕的要大,像地圖,那麼就只會顯示該資源的一部分)

kresolutionshowall:顯示完所有內容,此時引擎會對繼承自cclayer的類和上面的子節點進行縮放,此時縮放是用螢幕的實際大小和邏輯解析度做對比的(比如,邏輯解析度被設定成了1136*640,結果螢幕的實際解析度也是1136*640,此時那麼剛好對cclayer進行全屏顯示,,如果不符合這個解析度,會自動進行留黑邊處理,有可能是左右留黑邊,有可能是上下留黑邊,cclayer的左下角是0,0,有上角是1136,640)

kresolutionnoborder:

這種模式不會留黑邊,但超出螢幕的不會顯示,例如:如果開始kresolutionshowall是上下留黑邊,設定成kresolutionshowall後,上下不會留黑邊,但是寬度被拉伸了,加入左右分別被拉伸20個畫素,那麼winsize還是setdesignresolutionsize設定的大小,但是螢幕的左下角的左邊變成了(0,20)。

cocos2d x螢幕適配

第一,對於螢幕適配問題,首先必須理解幾個基本的概念。framesize 實 際上就是裝置的原始解析度,開發環境中可以通過cceglview sharedopenglview setframesize 來設 置裝置的解析度大小,當然也可以可以通過cceglview sharedopenglview g...

Cocos2d x 螢幕適配

為了適應移動終端的各種解析度大小,各種螢幕寬高比,在 cocos2d x 當前穩定版 2.0.4 中,提供了相應的解決方案,以方便我們在設計遊戲時,能夠更好的適應不同的環境。而在設計遊戲之初,決定著我們螢幕適配的因素有哪些,簡而言之只有兩點 螢幕大小 和 寬高比。這兩個因素是如何影響遊戲的 螢幕大小...

cocos2dx 螢幕適配策略

cocos2dx的常用函式 cceglview sharedopenglview setdesignresolutionsize 設計解析度大小 即開發時為基準的螢幕解析度 cceglview sharedopenglview setframesize 設定win32模擬器的解析度 cceglvie...