Unity 6.3
0 онлайн 83 гостей 3 в системе
Вход

Screen.SetResolution

Declaration

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);

Описание

Переключается разрешение экрана и частота обновления, если поддерживается.

Используется разрешение width по height. Если не поддерживается соответствующее разрешение, устанавливается ближайшее.
Если параметр preferredRefreshRate указан, но не поддерживается соответствующая частота обновления, устанавливается самая высокая доступная частота обновления. Изменение частоты обновления поддерживается только при использовании эксклюзивного полноэкранного режима.

Android:

  • Android 10 и старше: Параметр fullscreen управляет флагами SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_HIDE_NAVIGATIONи SYSTEM_UI_FLAG_FULLSCREEN с помощью метода View.setSystemUiVisibility.
  • Android 11 и более поздние версии: Когда fullscreen имеет значение true, вызывается WindowInsetsController.hide(WindowInsets.Type.navigationBars()), а когда fullscreen имеет значение false, вызывается WindowInsetsController.show(WindowInsets.Type.navigationBars()). Дополнительную информацию см. в документации Android по WindowInsetsController.

Детали использования:

  • Чтобы установить определенный полноэкранный режим на платформе рабочего стола, используйте метод overload, который принимает параметр FullScreenMode. Эксклюзивный полноэкранный режим поддерживается только на автономном проигрывателе Windows.
  • Если вы используете мульти-монитор, вы можете использовать только Screen.SetResolution для установки разрешения основного экрана.
  • Изменение разрешения применяется в конце текущего кадра, а не немедленно.
  • В Редакторе это влияет только на разрешение представления Game.

Примеры:

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 свойства.