Android手機屏幕分辨率五花八門,導致開發時不好把握,還好各個引擎對這個屏幕分辨率問題都有較好的處理方式;unity3D 也為我們提供了一個不錯的解決方案。
在Unity3D 進行 android 游戲開發時,對於不同分辨率下的顯示效果就像是攝像機的自動平移了一般,看了不少游戲,對於 Unity3D 開發 android 游戲貌似都沒有做相應的屏幕分辨率的處理,而是隨攝像機的自動移動,把場景做大些不至於出現空白背景。
其實 Unity3D 開發3D游戲,對於不同的分辨率,我們只需要設置 1 個唯一的屏幕顯示區域比(說白了就是寬高比),這樣顯示區域就不會隨分辨率的改變而拉升。
1 using UnityEngine; 2 using System.Collections; 3 4 5 public class Resolution : MonoBehaviour { 6 public Camera mainCamera; 7 void Start() 8 { 9 //Screen.SetResolution(1280, 800, true, 60); 10 mainCamera = Camera.mainCamera; 11 // float screenAspect = 1280 / 720; 現在android手機的主流分辨。 12 // mainCamera.aspect ---> 攝像機的長寬比(寬度除以高度) 13 mainCamera.aspect = 1.78f; 14 } 15 }
把此代碼腳本綁定在 MainCamera 上就OK了,這樣就不會導致不同分辨率下屏幕顯示區域大小不一的問題!