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 initialization
void 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()
{
}
}
08-24