如何在游戏中隐藏ui按钮并在按下退出键时显示按钮?

时间:2017-04-11 06:37:54

标签: c# unity3d unity5

在菜单中的编辑器中:GameObject> UI>按键 现在我在Hierarchy中有一个带有按钮的画布。 现在我想在我运行游戏时不会显示按钮,只有当我按下退出键时它才会显示按钮。

using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;

 public class NodesGenerator : MonoBehaviour {

     public Button btnGenerate;

     private void Start()
     {
         Button btn = btnGenerate.GetComponent<Button>();
         btn.onClick.AddListener(TaskOnClick);
     }

     void TaskOnClick()
     {
         Debug.Log("You have clicked the button!");
     }

我希望当我按下退出键时,btn将显示并再次退出将无法显示。运行游戏时的默认状态不显示按钮。

1 个答案:

答案 0 :(得分:3)

通过&#34;隐藏&#34;想象一下你的意思是你停用了按住按钮的对象,如果你点击退出键,你需要签入更新功能。如果你确实击中了它,你只需要反转按钮的活动状态,就可以了。

作为旁注,在Start函数中,您不需要再次获取Button组件,因为您已经在btnGenerate变量中引用了它。所以你可以直接将监听器添加到你的btnGenerate变量中。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class NodesGenerator : MonoBehaviour {

    public Button btnGenerate;

     private void Start()
     {
         btnGenerate.onClick.AddListener(TaskOnClick);
     }

     void Update()
     {
         if (Input.GetKeyDown(KeyCode.Escape))
         {
             btnGenerate.gameObject.SetActive(!btnGenerate.gameObject.activeSelf);
         }
     }

     void TaskOnClick()
     {
         Debug.Log("You have clicked the button!");
     }
}