在unity3d中隐藏按钮

时间:2016-04-13 23:06:49

标签: c# unity3d

我是unity3d的初学者,我在一个简单的游戏上工作,有一些按钮,我想在我点击其中一个时隐藏它们。 任何人都可以帮我在C#代码中做到这一点吗? 感谢

5 个答案:

答案 0 :(得分:7)

您可以将此脚本附加到按钮上。

Button buttonToHide;

void Start(){
   buttonToHide = GetComponent<Button>();

   buttonToHide.onClick.AddListener(() => HideButton());
}

void HideButton(){
   buttonToHide.gameObject.setActive(false);
}

基本上代码是做什么的,将监听器事件添加到按钮。因此,每次点击时,它都会调用HideButton()来隐藏层次结构中的按钮。

答案 1 :(得分:4)

您可以做的最简单的事情就是使用Unity内置函数。

  • 选择“场景/层次结构”中的按钮
  • 向下滚动到检查器中的按钮(脚本)
  • 单击OnClick
  • 中的+按钮
  • 将Button游戏对象从Hierarchy拖到现在创建的Empty slot&#34; None(Object)&#34;
  • 点击下拉列表,选择:GameObject.SetActive
  • 请勿勾选复选框
  • 按播放并尝试

Button in Unity

答案 2 :(得分:2)

创建UI按钮

您可以使用Unity的UI系统创建按钮。右键单击层次结构,单击 UI ,然后选择按钮。将使用按钮创建画布。在Button的Inspector中,您将在底部看到一个小面板,上面写着“On Click()”。单击加号箭头。通过右键单击Hierarchy并单击“Create Empty”将脚本附加到空游戏对象。从Project文件夹中找到您的脚本,然后将脚本拖到您刚刚在Hierarchy中创建的空游戏对象。然后再次单击您在画布中创建的Button,并将空的游戏对象拖到显示“None”的小框中。单击“无功能”框以显示下拉列表,并找到按下按钮时要执行的功能。

脚本

您可以像GameObject这样引用您想要隐藏的按钮:

GameObject button;
void Start() {
    button = GameObject.Find ("Button");
}

在此示例中,ButtonClicked()是您在单击按钮后选择在检查器中执行的功能。您可以使用SetActive()方法隐藏它或使其重新出现:

void ButtonClicked() {
    button.SetActive(false);   
}

Unity Manual SetActive()

UI Button

答案 3 :(得分:2)

using UnityEngine.UI;

public class Example : MonoBehaviour{
    public Button Examplebtn;
}

public void onClickExampleEvent{
   Examplebtn.interactable=false;
}

答案 4 :(得分:0)

using UnityEngine.UI;

public class Example : MonoBehaviour 
{
    public UnityEngine.UI.Button Button;


    public void onClickEvent() 
    {
        //Hide button
        Button.gameObject.SetActive(false);
    }
}