Unity3d 手機屏幕自動適配


我提到手機自動適配的一個方法中: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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM