using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System.Collections.Generic;
using UnityEngine.Events;
using UnityEngine.EventSystems;
public class AddClickEvent : MonoBehaviour {
void Start ()
{
var trigger = transform.gameObject.GetComponent<EventTrigger>();
if (trigger == null)
trigger = transform.gameObject.AddComponent<EventTrigger>();
trigger.triggers = new List<EventTrigger.Entry>();
// 定义需要绑定的事件类型。并设置回调函数
EventTrigger.Entry entry = new EventTrigger.Entry();
// 设置 事件类型
entry.eventID = EventTriggerType.PointerClick;
// 设置回调函数
entry.callback = new EventTrigger.TriggerEvent();
UnityAction<BaseEventData> callbacks = new UnityAction<BaseEventData>(OnClickFuncOne);
entry.callback.AddListener(callbacks);
UnityAction<BaseEventData> callback = new UnityAction<BaseEventData>(OnClickFuncTwo);
entry.callback.AddListener(callback);
// 添加事件触发记录到GameObject的事件触发组件
trigger.triggers.Add(entry);
}
public void OnClickFuncOne(BaseEventData arg0)
{
Debug.Log("Test Click----------fun 1");
}
public void OnClickFuncTwo(BaseEventData arg0)
}
using System.Collections;
using UnityEngine.UI;
using System.Collections.Generic;
using UnityEngine.Events;
using UnityEngine.EventSystems;
public class AddClickEvent : MonoBehaviour {
void Start ()
{
var trigger = transform.gameObject.GetComponent<EventTrigger>();
if (trigger == null)
trigger = transform.gameObject.AddComponent<EventTrigger>();
trigger.triggers = new List<EventTrigger.Entry>();
// 定义需要绑定的事件类型。并设置回调函数
EventTrigger.Entry entry = new EventTrigger.Entry();
// 设置 事件类型
entry.eventID = EventTriggerType.PointerClick;
// 设置回调函数
entry.callback = new EventTrigger.TriggerEvent();
UnityAction<BaseEventData> callbacks = new UnityAction<BaseEventData>(OnClickFuncOne);
entry.callback.AddListener(callbacks);
UnityAction<BaseEventData> callback = new UnityAction<BaseEventData>(OnClickFuncTwo);
entry.callback.AddListener(callback);
// 添加事件触发记录到GameObject的事件触发组件
trigger.triggers.Add(entry);
}
public void OnClickFuncOne(BaseEventData arg0)
{
Debug.Log("Test Click----------fun 1");
}
public void OnClickFuncTwo(BaseEventData arg0)
{
Debug.Log("Test Click----------->fun 2");
}
}
-------------------------
使用ugui自带的Button组件
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class BtnControl : MonoBehaviour {
// Use this for initialization
void Start ()
{
var button = transform.gameObject.GetComponent<Button>();
if (button != null)
{
button.onClick.RemoveAllListeners();
button.onClick.AddListener(OnClickTest);
}
}
public void OnClickTest()
{
Debug.Log("Test Click. This is Type 4");
}