如何在屏幕分辨率改变后刷新屏幕?

时间:2015-02-06 00:07:26

标签: c# unity3d resolution screen-resolution aspect-ratio

我设法让我的游戏在运行时/在游戏中(在初始选择之后)改变它的分辨率。但是我注意到,当从1920x1080说到800x600时,我在前面的图像/内容的边上有一个边框。

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

我要问的是,当有人改变分辨率时,是否有一种方法可以使我的游戏侧面变黑?如果有帮助我可以提供我所关注的图像:)

2 个答案:

答案 0 :(得分:2)

解决了它。我最初尝试简单地重置'由于某种原因,带有黑色Quad的屏幕出现故障。但经过再次尝试后,这似乎有效。

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

这似乎工作得很好,并且可以重复用户多次。

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);
}

答案 1 :(得分:-1)

要刷新屏幕,请使用以下代码:

This.refresh();