我提到手機自動適配的一個方法中:postion和Scale,“比例”概念適配手機。原始資源是480*800
經過實際項目考驗,個人感覺:
1,UICamera是自動適配分辨率,UI上也是拉伸、放大UI元素。有些分辨率如:720*1280,拉伸的比較大。適配效果不是很“完美”。
2,在游戲運行當中,有時得 Instantiate 一個新的GameObject,就又得考慮適配問題,有時還必須得放入 UIPanel下。對開放效率而言,不是一個好的選擇;
綜合上述所示,不考慮完美適配手機的前提條件下:
可優化為:
1, UIRoot.Automatic 為false,既UICamera不自動適配分辨率。在Instantiate等情況不考慮適配問題。
2,在進行拉伸、放大來適配不同分辨率的手機。思路:原始資源是 480*800,UICamera的長寬比是 480f/800f,那么我可以讓UICamera長寬比在不同的分辨率的手機中都為
480f/800f。就可以適配了
寫個c#腳本,最好在Awake中,對UICamera,進行長寬比;
public Camera nguiCamera;
void Awake(){
if(nguiCamera!=null){
//Debug.Log("dddffff "+nguiCamera.aspect);
nguiCamera.aspect=480f/800f;
//Debug.Log("dddffff dddfffff "+nguiCamera.aspect+" "+Screen.width+" "+Screen.height);
}
}
效果圖如下:
320*480

