【Android遊戲開發二十七】講解遊戲開發與項目下的hdpi 、mdpi與ldpi資源檔夾以及遊戲高清版本的設定

來源:互聯網
上載者:User

 李華明Himi 原創,轉載務必在明顯處註明:
轉載自【黑米GameDev街區】 原文連結: http://www.himigame.com/android-game/389.html

         今天一個開發人員問到我為什麼遊戲開發要刪除項目下的hdpi、mdpi和ldpi檔案夾;下面詳細給大家解答一下:

         首先童鞋們如果看過我寫的《【Android遊戲開發二十一】Android os裝置謊言解析度的解決方案!》這一節的話都應該知道Android從1.6和更高,Google為了方便開發人員對於各種解析度機型的移植而增加了自動適配的功能;

        自動適配的原理很簡單,只要你建立的項目是1.6或者更高都會看到項目下有drawable-hdpi、drawable-mdpi、drawable-ldpi 三個檔案夾,這三個檔案夾分別放置高清解析度、中解析度、低解析度的資源檔;那麼如果你的項目在高清解析度上啟動並執行話,系統會預設索引drawable-hdpi檔案夾下的資源,其他雷同;

         那麼既然系統會自動找匹配的檔案夾,那麼肯定會出現找不到的情況,比如當前你的應用在高清解析度運行,假設代碼中載入一張“himi.png”的圖,那麼系統首先會去drawable-hdpi檔案夾下去找這張圖,一旦找不到,系統會再到其他drawable下尋找,再假設你其實把這張“himi.png”放在了drawable-mdpi中,那麼系統會預設把這張圖片放大;反之一樣,如果你在低解析度中運行載入一張圖片的話,一旦你將圖片放入高清的drawable-dpi中,那麼系統預設縮小這張圖;

        總結來說:如果你的應用想適配高、中、低解析度,那麼你需要有3套圖放入對應的檔案夾中,這樣系統會智能載入;如果你就不想讓系統智能尋找縮放的話,有兩種方式可以解決:

       1.刪除drawable-hdpi、drawable-mdpi、drawable-ldpi三個檔案夾,建立一個drawable檔案夾即可;

       2.將資源檔放入assets中,因為assets中的資源系統永遠不會為其產生id,所以不會智能縮放;

      -------------------下面介紹第二點,如何讓你的遊戲應用高清

      其實還是在《【Android遊戲開發二十一】Android os裝置謊言解析度的解決方案!》中介紹過,1.6後android有了智能判斷的緣故,你擷取的螢幕寬高其實是不準確的,詳情可以參考【Android遊戲開發二十一】Android os裝置謊言解析度的解決方案!》;那麼這裡要補充一點就是:

      如果你在AndroidMainFest 中,定義  <uses-sdk android:minSdkVersion="4" /> 就OK了!你會發現你的圖片很清楚,其實也是因為android自動縮放造成的,上面說了,一般擷取的解析度會不正常(比正確的偏小)那麼一旦你加上這一句之後,你的解析度就正常了,所以就明顯遊戲品質高了一個檔次。

 

       這裡再補充一下: 一旦你定義了<uses-sdk android:minSdkVersion="4" />,就是限制1.5SDK的手機無法安裝你的程式;

      OK,繼續忙了,大家嘗試下吧~

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.