我是unity3d的初学者,我在一个简单的游戏上工作,有一些按钮,我想在我点击其中一个时隐藏它们。 任何人都可以帮我在C#代码中做到这一点吗? 感谢
答案 0 :(得分:7)
您可以将此脚本附加到按钮上。
Button buttonToHide;
void Start(){
buttonToHide = GetComponent<Button>();
buttonToHide.onClick.AddListener(() => HideButton());
}
void HideButton(){
buttonToHide.gameObject.setActive(false);
}
基本上代码是做什么的,将监听器事件添加到按钮。因此,每次点击时,它都会调用HideButton()
来隐藏层次结构中的按钮。
答案 1 :(得分:4)
您可以做的最简单的事情就是使用Unity内置函数。
答案 2 :(得分:2)
您可以使用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);
}
答案 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);
}
}