Как поменять монитор в Unity во время игры?

354
29 июня 2017, 00:51

Столкнулся с такой проблемой, что в Unity сложно поменять монитор, не нарушая работу других мониторов.

public void SetMonitor()
{
    if (Display.displays.Length > 1)
    {
        //PlayerPrefs.SetInt("UnitySelectMonitor", _monitorIndex);
        //Screen.SetResolution(Display.displays[_monitorIndex].systemWidth, Display.displays[_monitorIndex].systemHeight, Screen.fullScreen);
        Display.displays[_monitorIndex].Activate(Display.displays[_monitorIndex].systemWidth, Display.displays[_monitorIndex].systemHeight, 60);
        Camera.main.targetDisplay = _monitorIndex;
        Canvas canvas = GameObject.Find("Canvas").GetComponent<Canvas>();
        canvas.targetDisplay = _monitorIndex;
        if (_monitorIndex < Display.displays.Length - 1)
        {
            _monitorIndex++;                
        }
        else
        {                
            _monitorIndex = 0;
        }
    }
    else
    {
        PlayerPrefs.SetInt("UnitySelectMonitor", 0);
        Screen.SetResolution(Display.displays[0].systemWidth, Display.displays[0].systemHeight, Screen.fullScreen);
        Display.displays[0].Activate();
    }
}

Если использовать этот код, то нарушается работа других мониторов.

READ ALSO
Соединение разрывается при простое

Соединение разрывается при простое

Подключаюсь, сначала нормальное общение, как только немного простой (отсутствие активности) на клиенте, то получаю принудительный разрыв...

319
Правильное написание плагина на чистом JavaScript

Правильное написание плагина на чистом JavaScript

Возник вопрос о правильном подходе создания плагина на js

384
как вынести данные из объекта?

как вынести данные из объекта?

Как вынести данные из объекта в отдельные переменные, чтобы при использовании каждый раз не писать objectname, object

268