屏幕自适应

来源:互联网 发布:tensorflow 最好的书 编辑:程序博客网 时间:2024/05/17 08:16
public class WindowsRoot : MonoBehaviour{    public static float DesignWidth = 1280.0f;public static float DesignHeight = 720.0f;static float mManualHeight = 720.0f;public static float ManualHeight { get{ return mManualHeight;} set{ mManualHeight = value;}}// Use this for initializationvoid Start ()    {        Application.targetFrameRate = 30;//Screen.SetResolution(1280, 800, true);        //Screen.SetResolution(300, 200, true);        float designRatio = DesignWidth / DesignHeight;        float actualRatio = (float)Screen.width / (float)Screen.height;        //物理屏幕分辨率与游戏设计分辨率比。        float ratioOf = DesignWidth / Screen.width;        //只缩小,不放大.        float ratioScale = Mathf.Min(ratioOf, 1f);        //锁定分辨率,最大不超过DesignWidth 和 DesignHeight.        Screen.SetResolution(Mathf.FloorToInt(Screen.width * ratioScale), Mathf.FloorToInt(Screen.height * ratioScale), true);Debug.Log("designRatio = " + designRatio);Debug.Log("actualRatio = " + actualRatio);UIRoot UIRoot = GetComponent<UIRoot>();mManualHeight = UIRoot.manualHeight;Debug.Log( "mManualHeight = " + mManualHeight);        if (actualRatio < designRatio){           UIRoot.manualHeight = (int)Mathf.Round( UIRoot.manualHeight * designRatio / actualRatio );mManualHeight = UIRoot.manualHeight;Debug.Log( "mManualHeight = " + mManualHeight);        }GameObject.DontDestroyOnLoad(this);} //void OnUpdate(string msg)void Update(){}}

0 0
原创粉丝点击