Version: 2023.1

Screen.SetResolution

切换到手册
public static void SetResolution (int width, int height, bool fullscreen);
public static void SetResolution (int width, int height, FullScreenMode fullscreenMode);
public static void SetResolution (int width, int height, FullScreenMode fullscreenMode, RefreshRate preferredRefreshRate);

描述

切换屏幕分辨率。

A width by height resolution is used. If no matching resolution is supported, the closest one is used.

If preferredRefreshRate is 0 (default) Unity switches to the highest refresh rate that the monitor supports.
If preferredRefreshRate is not 0 Unity uses it if the monitor supports it, otherwise it chooses the highest supported one. Changing refresh rate is only supported when using exclusive full-screen mode.

On Android fullscreen controls the SYSTEM_UI_FLAG_LOW_PROFILE flag to View.setSystemUiVisibility.

To set a specific full-screen mode on a desktop platform, use the method overload that accepts the FullScreenMode parameter. Exclusive full-screen mode is only supported on Windows standalone player.

If you use multi-display, you can only use Screen.SetResolution to set the resolution of the primary screen.

A resolution switch does not happen immediately; it happens when the current frame is finished.

using UnityEngine;

public class ExampleScript : MonoBehaviour { void Start() { // Switch to 640 x 480 full-screen Screen.SetResolution(640, 480, true); } }

另一个示例:

using UnityEngine;

public class ExampleScript : MonoBehaviour { void Start() { // Switch to 640 x 480 full-screen at 60 hz Screen.SetResolution(640, 480, FullScreenMode.ExclusiveFullScreen, new RefreshRate() { numerator = 60, denominator = 1 }); } }

另一个示例:

using UnityEngine;

public class ExampleScript : MonoBehaviour { void Start() { // Switch to 800 x 600 windowed Screen.SetResolution(800, 600, false); } }

另请参阅:resolutions 属性。