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

302
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
Соединение разрывается при простое

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

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

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

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

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

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

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

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

231