</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 initialization
void 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 frame
void Update () {
}
void NotParameterClick()
{
CylinderMove.instance.JumpFunc();
}
void ParameterClicks(GameObject obj)
{
CylinderMove.instance.JumpFunc();
}
void ParameterFunc()
{
FuncAll(ParameterClicks);
}
void FuncAll(OnClick clicks)
{
click += clicks;
}
}