统一多屏显示。如何使显示[0]成为窗口,其他显示全屏?

时间:2018-12-18 20:23:41

标签: c# unity3d screen fullscreen

我的游戏中有 3个屏幕。我想将display[0]显示为窗口,大​​小为width=600, heigth=450,将display[1]display[2]显示为 fullScreen

因此,在我要显示的每个场景中,我有三个摄像机,主要订阅了display[0] leftCamera 已订阅{{1} },并且 rightCamera 已订阅display[1],然后我在左右摄像机中添加以下脚本以激活显示:

display[2]

另一方面,我在播放器设置中设置了以下内容:

enter image description here

当我开始游戏时,出现一个窗口化的应用程序。在画布中有一个 //initialization void Start () { if (Display.displays.Length == 3) { Display.displays[1].Activate(); Display.displays[2].Activate(); } else if (Display.displays.Length == 2) { Display.displays[1].Activate(); } } void Update () { } ,带有按钮,当我单击使用的按钮时:

Menu

因此,当我单击菜单按钮时,场景可以正确加载到三台显示器上,但是 public void OnButtonClickMenu1 () { #if UNITY_5_3 || UNITY_5_3_OR_NEWER SceneManager.LoadScene ("MyScene1"); #else Application.LoadLevel ("MyScene1"); #endif } ,并且我希望display[0] maximizes 保持窗口显示

我尝试在按钮操作中将display[0]设置为SetParams,例如:

display[0]

但是不起作用, public void OnButtonClickMenu1 () { Display.displays[0].SetParams(600, 450, 0, 0); #if UNITY_5_3 || UNITY_5_3_OR_NEWER SceneManager.LoadScene ("MyScene1"); #else Application.LoadLevel ("MyScene1"); #endif } 一直在最大化... 我该怎么做才能使其保持窗口状态?

display[0]

1 个答案:

答案 0 :(得分:1)

替换

Display.displays[0].SetParams(600, 450, 0, 0);

使用

Screen.SetResolution(600, 450, false);

主屏幕似乎全屏出现某种原因。设置Screen.SetResolution可使display [0]从全屏模式消失。这不会对其他Windows行为产生任何影响。