在Canvas下新建一个Dropdown 。
然后创建脚本 SetScreenResolving
using UnityEngine;
using UnityEngine.UI;
using System.Collections.Generic;
//控制屏幕分辨率,全屏,窗口的脚本
public class SetScreenResolving : MonoBehaviour
{
private Resolution[] reso;
public Dropdown DropWin;
private List<Dropdown.OptionData> DropWinList = new List<Dropdown.OptionData>();
//切换
//屏幕的宽度
int screenWidth = 0;
//屏幕的高度
int screenHeight = 0;
private void Awake()
{
screenWidth = Screen.currentResolution.width;
screenHeight = Screen.currentResolution.height;
}
void Start()
{
//屏幕分辨率大小
reso = Screen.resolutions;
DropWin.options.Clear();
for (int i = 0; i < reso.Length; i++)
{
DropWinList.Add(new Dropdown.OptionData());
DropWinList[i].text = ShowResolving(reso[i]);
DropWin.value = i;
DropWin.options.Add(DropWinList[i]);
}
DropWin.onValueChanged.AddListener(index =>
{
DropWin.captionText.text = ShowResolving(reso[index]);
FullScree(reso[index]);
});
DropWin.captionText.text = "屏幕分辨率";
}
private void Update()
{
}
void FullScree(Resolution res)
{
//获取设置当前屏幕分辩率//如果当前设置分辨率大于1K自动读取电脑屏幕分辨率设置最大分辨率//全屏
//否则不设置全屏
if (res.height >= 1080)
{
//设置当前分辨率
Screen.SetResolution(screenWidth, screenHeight, true);
}
else
{
Screen.SetResolution(res.width, res.height, false);
}
}
string ShowResolving(Resolution res)
{
return res.width + "X" + res.height;
}
}
把脚本挂场景物体上
效果: