在unity3d中隐藏按钮

Rit*_*a.. 5 c# unity-game-engine

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

Ten*_*lah 7

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

Button buttonToHide;

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

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

void HideButton(){
   buttonToHide.gameObject.setActive(false);
}
Run Code Online (Sandbox Code Playgroud)

基本上代码是做什么的,将监听器事件添加到按钮.所以每当你点击它时,它会调用HideButton()隐藏按钮的层次结构.


小智 5

创建UI按钮

您可以使用Unity的UI系统创建按钮。右键单击“ 层次结构”,单击“ UI”,然后选择“ 按钮”。将使用按钮创建一个画布。在Button的检查器中,您将在底部看到一个小的面板,上面显示“ On Click()”。单击加号箭头。通过右键单击“层次结构”并单击“创建空白”,将脚本附加到空白游戏对象。从“项目”文件夹中找到脚本,然后将该脚本拖到您刚刚在“层次结构”中创建的空游戏对象。然后再次单击在画布内创建的按钮,然后将空的游戏对象拖到显示“无”的小框。点击“无功能”框以显示一个下拉菜单,

脚本编写

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

GameObject button;
void Start() {
    button = GameObject.Find ("Button");
}
Run Code Online (Sandbox Code Playgroud)

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

void ButtonClicked() {
    button.SetActive(false);   
}
Run Code Online (Sandbox Code Playgroud)

Unity手册SetActive()

UI按钮


小智 5

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

  • 选择场景/层次结构中的按钮
  • 向下滚动到检查器中的按钮(脚本)
  • 单击 OnClick 中的 + 按钮
  • 将 Button 游戏对象从 Hierarchy 拖到现在创建的 Empty 插槽“None (Object)”中
  • 单击下拉菜单,选择:GameObject.SetActive
  • 不要选中复选框
  • 按播放键试试

Unity 中的按钮