2013年9月5日 星期四

在Starling中,如何製作符合各種不同規格裝置的場景 - 以IOS為例子 (二)

原文翻譯至
Managing multiple iOS resolutions with Starling – real world example – Part 2: iPhone 5 and iPad

在Starling中最棒的ㄧ件事就是,你只需要製作一個版本,就可以適用各製種螢幕規格。
上一篇中,我們實作了一種方法,讓你的APP透過判定是否為高解析螢幕,然後取用合適的素材。
本篇將實作,如何作一個全螢幕(不變形)的畫面,包含 iPhone5 iPad iPad mini 或者是 Retina iPad..
我們先來看看下圖,用這個技術在各個裝置上的成果。

圖中有iPhone3GS iPhone4 iPhone5 iPad 與 iPad3,它們都可以用全螢幕的模式顯示出漂亮的素材(即使是在iPhone5上的怪怪規格也是沒有任何問題)

首先瞭解你的敵人,我們看看各機型的規格(橫向)

iPhone 3G and 3GS: 480×320

iPhone 4 and iPhone 4S: 960×640

iPhone 5: 1136×640 (iPhone請見下方的ps)

iPad, iPad 2 and iPad mini: 1024×768

iPad 3 and iPad 4 (called iPad with retina display): 2048×1536

想在各種規格上都全螢幕顯示意味著每種畫面都是不同的解析度,所以第一件事就是"定義每種不同的場景大小與比例",來讓這件事變的容易瞭解一點。
首先定意比例 :
480 x 320 有 iPhone3G iHpone3GS 另外 iPhone4 與 iPhone4S 他們需要2倍解析度的素材。
568 x 320 有 iPhone5 ㄧ樣需要2倍解析度素材。
512 x 384 有 iPad  iPad2  iPad mini (這些需要2倍解析度素材),另外還有 iPad3與iPad4 (他們需要4倍素材)
這樣分類後我們可以把10種裝置,分成5種規格,但是只有3種螢幕比例。

以下實作主程式 Main,使用Starling,在低品畫質情況上述不同比例下全螢幕的作法。

再來我們再場景上置入各種不同規格的素材,再判定各裝置給與正確的素材。
以上程式,你可以看到如何判定不同裝置來置入適合的素材。
90~112 的 setupDevice,可以告訴我們現在是屬於何種裝置,這個方法跟上一篇談的一樣,ㄧ切變得跟在設定Html網頁的模式ㄧ樣,你不應該根據硬體規格來選擇素材,而應該是根據螢幕的大小與比例來設定正確的素材。

ps.全螢幕設定在 iPhone5上發現的問題 (筆者沒有iPhone5所以也無法作實驗..)

實際上光是這個作法在iPhone5上會有問題,因為無法抓到正確的解析度,除非你放置一個正確的起動圖片。
檔名 Default-568h@2x.png,他是一張640x1130的png (不管是用直式還是橫式)


沒有留言: