UI按钮事件的添加以及delegate的简单应用

来源:互联网 发布:德语识别算法 编辑:程序博客网 时间:2024/05/21 14:03
</pre><pre name="code" class="csharp">
using UnityEngine;using System.Collections;using UnityEngine.UI;using UnityEngine.EventSystems;public class JumpCylinderFun : MonoBehaviour{    private Button btn;//定义一个delegate    public delegate void OnClick(GameObject target);//声明其对象    public OnClick click;// Use this for initializationvoid Start ()     {        if (btn != null)        {//为按钮清除一下事件            btn.onClick.RemoveAllListeners();//使用addListener方法中调用的方法不允许存在参数(如果有参数可以创建一个无参数的函数中调用其函数就行            //btn.onClick.AddListener(NotParameterClick);//方法二:使用delegate            btn.onClick.AddListener(ParameterFunc);//方法三://btn.onClick.AddListener(delegate(){//  调用方法//});         }}// Update is called once per framevoid Update () {}    void NotParameterClick()    {        CylinderMove.instance.JumpFunc();    }    void ParameterClicks(GameObject obj)    {        CylinderMove.instance.JumpFunc();    }    void ParameterFunc()    {        FuncAll(ParameterClicks);    }    void FuncAll(OnClick clicks)    {        click += clicks;    }   }


0 0