2012-04-24 53 views
0

我已經創建了一個針對800 x 480分辨率的遊戲,但已經開始適應其他WP7分辨率。另外,我聽說可以通過Mono和ExEn將遊戲移植到iPhone和Android上,開闢了大量其他屏幕分辨率。WP7 XNA遊戲:如何適應不同的手機解決方案?

處理這個問題的正確方法是什麼?我想讓遊戲足夠聰明,可以檢測屏幕尺寸並更改資產以儘可能地接近原始設備,併發揮相同的作用。

這是一款2D遊戲,我認爲理想的做法是爲所有分辨率提供不同的圖像,但要做到面向未來,這是行不通的。我曾想過要有一個800 x 480的基線,在開始時檢測大小,並改變所有實體的邊界以進行縮放,然後簡單地將紋理繪製到這些目標。這將允許我正確地進行碰撞檢測,並且可以縮放紋理,但可能有更好的方法。

無論如何,我希望我已經清楚地解釋了這個問題。如果沒有,我會在留言發佈後編輯問題。

我很感激您的意見。

+2

Windows Phone 7有一個單一的800x480分辨率,所以你已經覆蓋的問題! – 2012-04-24 13:09:04

回答

3

對於Windows Phone可能支持多種分辨率(或尋找此答案來編寫真正的多分辨率引擎)的用戶而言,這就是我的做法。

我列舉/檢查可用的分辨率併爲我已知的寬高比分辨率設置正交投影。爲此,我硬編碼了一張我已測試過我的遊戲的寬高比表,以及這些寬高比中每一個的「參考」寬度/高度。然後我查看當前請求的分辨率,找到它的寬高比並通過我的表格查看最接近較低匹配的寬高比並設置一個正投影(居中 - 所以如果高度匹配但寬度不匹配或反之亦然,字母 - 自動發生)和相應的視口。

例如:我爲qHD(960x540),WXGA(1280x720)和FHD(1920x1080)設置了1280x720的正投影,因爲它們都具有相同的寬高比。

在方面1.5的SVGA和DVGA(960x640)顯示器上,我會設置SVGA 800x600分辨率,所以一切看起來都不錯。

上面的方法可以確保如果您爲主要目標設備使用的寬高比設計資產,他們將不會看到任何壓扁。 請注意,此方法是不是用於確定您的資產的實際分辨率。

-1

目前WP只支持800 x 480分辨率。將來,當不同的分辨率被允許時,就會有關於自動縮放的討論。到目前爲止,還沒有出現,我建議你放鬆一下。

編輯:謝謝你的擡頭..重新閱讀帖子。是的,Mono允許你爲Android和iOS編寫代碼,你可以分享很多代碼http://xamarin.com/瞭解更多信息。

這個想法是有一個共同的庫(引擎等),然後優化用戶界面,以適應不同的平臺。

+0

他正在考慮移植遊戲,所以iOS和Android的解決方案是相關的。 – Elideb 2012-04-25 09:14:22