如何在不影响其功能的情况下隐藏按钮

时间:2017-05-14 05:48:50

标签: c# unity3d

enter image description here

从上图中,Login按钮具有允许订阅用户的功能。我有一个隐藏登录按钮以及允许订阅用户的方案。

为了隐藏我写的是这样的:

GameObject.FindWithTag("Login_btn").active = false;

当我编写此代码时,它会按预期隐藏登录按钮,但它也会禁用订阅用户功能并引发异常

  

无法启动协同程序,因为游戏对象“Login_btn”处于非活动状态

你能帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

使其纹理为alpha为1的PNG。因此,没有人会看到它,但它会出现在游戏引擎中。

答案 1 :(得分:1)

在不需要另外使用PNG的情况下,更简单的方法是使用

MyButton.GetComponent<Image>().sprite.color = Color.clear;

如果您的按钮是精灵而不是手动设置颜色的UI图像,您可以使用Color.white将其还原,否则只需在调用第一行之前获取对它的引用并在之后引用它你想再次展示它:

Color col = new color();
void SwitchColour(bool b){
   Image myImage = Button.GetComponent<Image>();
   if(!b){
      col = myImage.color;
      myImage.color = Color.clear;
   }else myImage.color = col;
}