在商场里面的娱乐区域有多人投币玩的游戏,例如捕鱼达人这种游戏,这时候由于是多人同屏游玩,所以可能会使用大的拼接型屏幕,这时候我们开发的时候就需要考虑到这个问题,让两块屏幕进行无缝连接游戏内容,保证多人玩家在同一个场景中玩。
捕鱼机器
解决方法:可以在开发的时候多添加一个摄像机(如果有多个屏幕可以多添加摄像机,我这演示两个摄像机的操作),然后多开一个display,相机只渲染你的需要展示的部分,例如我这将场景分为上下两个部分,两个摄像机显示display1和display2的图,如场景拍摄图所示
游戏场景图
在开始游戏后,鱼可以显示在两个显示屏中,由于中间存在间隙,所以鱼的位置有些错乱,但是当屏幕是连接时,鱼的位置时完整连接的。
public class DisplayScreen : MonoBehaviour
{
void Awake()
{
MultScreen();
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
MultScreen();
}
}
void MultScreen()
{
Screen.fullScreen = true;
if (Display.displays.Length > 1)
{
Display.displays[1].Activate();
Display.displays[1].SetRenderingResolution(Display.displays[1].systemWidth, Display.displays[1].systemHeight);
}
if (Display.displays.Length > 2)
{
Display.displays[2].Activate();
Display.displays[2].SetRenderingResolution(Display.displays[2].systemWidth, Display.displays[2].systemHeight);
}
//Debug.Log(GetType() + "/MultScreen()/ Display.displays.Length = " + Display.displays.Length);
//intfoText.text = "当前获得屏幕数量为:" + Display.displays.Length;
//for (int i = 0; i < Display.displays.Length; i++)
//{
// Display.displays[i].Activate();
// Screen.SetResolution(Display.displays[i].renderingWidth, Display.displays[i].renderingHeight, true);
//}
}
}