问题:
项目中用到unity发布后的两个程序分别在两个屏幕上运行,在playersetting里面设置好后,因为一些问题,两个程序会跑到同一个屏幕上。同时默认的配置文件也会修改。
解决:
1.首先是playersetting里面的设置:Display Resolution Dialog 设置为Disable或Hidden By Default。Disable启动时的对话框不会出现;Hidden By Default 启动时按Alt键会弹出对话框,否则直接运行。(其他设置这里不赘述)
2.首先了解程序运行时,程序的相关配置文件的位置(程序运行时全屏、运行屏幕等的配置文件):win+R 输入regedit打开注册表,然后按路径USER(当前windows账户)—>SOFTWARE—>DefaultCompany(程序发布时所填公司名称)—>ProjectName(项目名称)。这里就是存储程序运行时所调用的相关配置文件。
3.代码中修改相关变量。(这里不再多说 ,直接上代码)
//配置文件中的值与自己想要运行的屏幕不一样并且想要运行的屏幕存在
if (PlayerPrefs.GetInt("UnitySelectMonitor") != playScreen && playScreen <(Display.displays.Length-1))
{
//设置播放屏幕 0为一号屏 1为二号屏
PlayerPrefs.SetInt("UnitySelectMonitor", playScreen);
//到指定屏幕运行 切花屏幕
Display.displays[playScreen].Activate();
//设置分辨率和是否全屏
Screen.SetResolution(1920, 1080, true);
//单独修改是否全屏
Screen.fullScreen = true;
}
最后,其他的配置文件的变量也可以用playerPrefs.setInt();进行修改。