📜  GetComponent <Button>().onClick - C# <button>(1)

📅  最后修改于: 2023-12-03 15:15:15.260000             🧑  作者: Mango

获取按钮并添加点击事件 - C#

在编写Unity UI时,我们经常需要在代码中获取到Button组件,并添加相应的点击事件。

在C#中获取Button组件可以使用Unity提供的GetComponent()方法,其语法如下:

Button button = GetComponent<Button>();

这个方法从当前对象的组件列表中查找Button组件,并返回一个Button类型的实例对象。

接着,我们可以使用button.onClick属性来添加点击事件的逻辑处理,其语法如下:

button.onClick.AddListener(OnClick);

这里的OnClick是我们自己实现的一个方法,用于处理按钮点击事件的逻辑。我们可以通过lambda表达式来实现:

button.onClick.AddListener(() => {
    // 处理按钮点击事件的逻辑
});

或者,我们可以先定义一个OnClick()方法,再把它作为参数传递给AddListener()方法,其语法如下:

private void OnClick() {
    // 处理按钮点击事件的逻辑
}

button.onClick.AddListener(OnClick);

需要注意的是,如果我们为同一个按钮添加多个点击事件处理逻辑,需要使用button.onClick.RemoveAllListeners()方法先清除之前的所有事件处理逻辑,再添加新的处理逻辑。

完整的示例代码如下:

using UnityEngine;
using UnityEngine.UI;

public class Example : MonoBehaviour {

    private void Start() {
        Button button = GetComponent<Button>();
        button.onClick.AddListener(() => {
            // 处理按钮点击事件的逻辑
        });
    }

    private void OnClick() {
        // 处理按钮点击事件的逻辑
    }
}

以上就是通过GetComponent