我有2个画布:一个用于登录,一个用于注册。
这是登录画布:
单击注册按钮时,我更改并调用Register Canvas:
但它变得模糊。我在Canvas中使用相同的Unity配置。
我通过C#脚本禁用并启用Canvas:
void TaskOnClick()
{
CanvasLogin.enabled = false;
LoginValue.text = "";
PasswordValue.text = "";
CanvasRegister.enabled = true;
}
只有当我通过命令/脚本启用Canvas时才会出现问题,如果Canvas启动启用,则模糊不会发生。
比例配置:
有趣的是,在执行期间,如果我更改屏幕的方面并返回,则文本会恢复正常...
问题不在于第二个画布,问题是当我启用它时 通过命令/脚本
答案 0 :(得分:2)
我刚刚遇到了同样的问题,这是我搜索时的第一个结果,我将添加答案。我有一个GameObject
和Canvas
和CanvasScaler
组件。
我发现,如果在运行时禁用/启用Canvas
,则也需要更新CanvasScaler
。就我而言,我也禁用/启用了CanvasScaler
。在CanvasScaler
上设置任何值可能会将其设置为脏值并导致更新。
答案 1 :(得分:0)
由于您的问题仅适用于其中一个画布,因此您可能需要检查附加的Canvas Scaler组件。看起来第二个画布上的缩放未正确配置。 您可以从第一个画布复制所有组件的值,使用检查器窗口中组件右上角的小齿轮图标的下拉菜单。
答案 2 :(得分:0)
最简单的方法: 使用 gameobject.SetActive() 而不是 canvas.enabled