UGUI中背景分辨率适应

来源:互联网 发布:linux手动关机命令 编辑:程序博客网 时间:2024/06/05 18:50

一个2D项目的背景图,需要根据屏幕大小进行适应性的操作。

以480*800为例,可以进行私有变量的定义:

    屏幕适应的宽度

    private static float BASE_WIDTH = 480f;

    屏幕适应的高度

    private static float BASE_HEIGHT = 800f;

    浮点型的匹配参数声明

    private float baseRatio;

    当前的缩放系数

    private float percentScale;

   先找到当前组件

   private Transform m_tranform;    

   void Start()
    {
        m_tranform = transform;
        setScale(); //适应方法调用
    }

 具体根据宽和高的比例来进行调节,适应当前分辨率

 void setScale()
    {
        #if UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8
            baseRatio = (float)BASE_WIDTH / BASE_HEIGHT * Screen.height;
            percentScale = Screen.width / baseRatio;
            m_tranform.localScale = new Vector3(m_tranform.localScale.x * percentScale, m_tranform.localScale.y, 1);
        #endif
    }

亲测有用,欢迎交流。

0 0