启用Canvas后文本模糊

时间:2018-02-08 12:55:22

标签: c# unity3d

我有2个画布:一个用于登录,一个用于注册。

这是登录画布:

enter image description here

单击注册按钮时,我更改并调用Register Canvas:

enter image description here

但它变得模糊。我在Canvas中使用相同的Unity配置。

我通过C#脚本禁用并启用Canvas:

void TaskOnClick()
{
    CanvasLogin.enabled = false;
    LoginValue.text = "";
    PasswordValue.text = "";
    CanvasRegister.enabled = true;
}

只有当我通过命令/脚本启用Canvas时才会出现问题,如果Canvas启动启用,则模糊不会发生。

比例配置:

enter image description here

有趣的是,在执行期间,如果我更改屏幕的方面并返回,则文本会恢复正常...

  

问题不在于第二个画布,问题是当我启用它时   通过命令/脚本

3 个答案:

答案 0 :(得分:2)

我刚刚遇到了同样的问题,这是我搜索时的第一个结果,我将添加答案。我有一个GameObjectCanvasCanvasScaler组件。

我发现,如果在运行时禁用/启用Canvas,则也需要更新CanvasScaler。就我而言,我也禁用/启用了CanvasScaler。在CanvasScaler上设置任何值可能会将其设置为脏值并导致更新。

答案 1 :(得分:0)

由于您的问题仅适用于其中一个画布,因此您可能需要检查附加的Canvas Scaler组件。看起来第二个画布上的缩放未正确配置。 您可以从第一个画布复制所有组件的值,使用检查器窗口中组件右上角的小齿轮图标的下拉菜单。

答案 2 :(得分:0)

最简单的方法: 使用 gameobject.SetActive() 而不是 canvas.enabled