zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Day-11 闭包和迭代器
    Day-01 Python基础
    Day-10 函数的进阶
    Day-09 初识函数
    Day-08 文件操作
    Day-07 基础数据类型补充 set集合 深浅拷贝
    Day-06 小数据池 再谈编码
    Day-05 基础数据类型字典dict
    Day-04 基础数据类型list, tuple
    NodeJs获取两个日期间的所有日期
  • 原文地址:https://www.cnblogs.com/softimagewht/p/3193445.html
Copyright © 2011-2022 走看看