通过实际项目考验,我的感受:c#
1,UICamera是自动适配分辨率,UI上也是拉伸、放大UI元素。有些分辨率如:720*1280,拉伸的比较大。适配效果不是很“完美”。post
2,在游戏运行当中,有时得 Instantiate 一个新的GameObject,就又得考虑适配问题,有时还必须得放入 UIPanel下。对开放效率而言,不是一个好的选择;优化
综合上述所示,不考虑完美适配手机的前提条件下:ui
可优化为:spa
1, UIRoot.Automatic 为false,既UICamera不自动适配分辨率。在Instantiate等状况不考虑适配问题。游戏
2,在进行拉伸、放大来适配不一样分辨率的手机。思路:原始资源是 480*800,UICamera的长宽比是 480f/800f,那么我可让UICamera长宽比在不一样的分辨率的手机中都为资源
480f/800f。就能够适配了it
写个c#脚本,最好在Awake中,对UICamera,进行长宽比;io
public Camera nguiCamera;class
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