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

來源:互聯網
上載者:User

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

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

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


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

一、準備圖片資源

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

二、直接使用三種適配策略

//kResolutionNoBorder //kResolutionShowAll  854 * 480 的可見(如在960 * 640的螢幕上)

以上三種原理這裡不再贅述,詳細可參考這裡:http://www.ityran.com/archives/4809

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

pEGLView->setDesignResolutionSize(854 ,480 ,kResolutionNoBorder);
、看效果

下面,我們設定win32模擬器的解析度為960*640,來看一下三種適配策略的效果。

效果:

pEGLView->setDesignResolutionSize(854 ,480 ,kResolutionExactFit);

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

kResolutionNoBorder效果:

pEGLView->setDesignResolutionSize(854 ,480 ,kResolutionNoBorder);

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

kResolutionShowAll效果:

pEGLView->setDesignResolutionSize(854 ,480 ,kResolutionShowAll);

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

四、對資源解析度的解釋

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

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

詳情見:http://www.ityran.com/archives/4809

以上是個人對cocos2dx解析度適配進行了一些簡單的介紹,適合大家快速理解整套適配策略,更加詳細的原理可參考文章給出的連結。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.