C# 屏幕分辨率更改后如何刷新屏幕?

C# 屏幕分辨率更改后如何刷新屏幕?,c#,unity3d,resolution,screen-resolution,aspect-ratio,C#,Unity3d,Resolution,Screen Resolution,Aspect Ratio,我已经设法让我的游戏在运行时/在游戏中(在初始选择之后)更改其分辨率。然而,我注意到,当从1920x1080到800x600时,我在前面的图像/内容的两侧得到了一个边框 例如,“我的菜单”显示在最右侧,当缩小到800x600时,最右侧的菜单仍保留,但不可交互(它只是一个图像),而“实际菜单”则显示在左侧几百个像素 我想问的是,有没有一种方法可以让我的比赛在有人改变决断的时候变得黑暗?如果有帮助的话,我可以提供关于我的图片:)解决了它。由于某种原因,我最初尝试用一个黑色的四边形“重置”屏幕的尝试失

我已经设法让我的游戏在运行时/在游戏中(在初始选择之后)更改其分辨率。然而,我注意到,当从1920x1080到800x600时,我在前面的图像/内容的两侧得到了一个边框

例如,“我的菜单”显示在最右侧,当缩小到800x600时,最右侧的菜单仍保留,但不可交互(它只是一个图像),而“实际菜单”则显示在左侧几百个像素


我想问的是,有没有一种方法可以让我的比赛在有人改变决断的时候变得黑暗?如果有帮助的话,我可以提供关于我的图片:)

解决了它。由于某种原因,我最初尝试用一个黑色的四边形“重置”屏幕的尝试失败了。但在再次尝试之后,这似乎奏效了

通过创建四边形(或纹理)并将颜色设置为黑色(或您希望设置屏幕的任何其他颜色)并将其移出,当调用屏幕分辨率时,我只需变换纹理/四边形的位置以覆盖画布/屏幕,然后重新加载级别,并将分辨率设置为新选择的分辨率,然后重新载入我的菜单。下面的代码显示了它,以防其他人也遇到与我相同的问题

这似乎工作得很好,可以重复多次用户想要的

public void ApplyResolutionChange (GameObject menu)
{       
        GameObject blank = GameObject.Find ("BlankScreen");

        blank.transform.position = new Vector3 (0, 0, 100);
        Application.LoadLevel (0);
        Screen.SetResolution (resolutionX, resolutionY, isFullscreen);
}