纳金网

标题: Unity委托简单例子 [打印本页]

作者: may    时间: 2015-11-30 00:59
标题: Unity委托简单例子
Unity委托简单例子
  1. public class EventDispatcher : MonoBehaviour
  2. {
  3.     public delegate void EventHandler(GameObject e);//定义委托
  4.     public event EventHandler MouseOver;
  5.     void Start()
  6.     {
  7.         OnMouseOver();
  8.     }
  9.     void OnMouseOver()
  10.     {
  11.         if (MouseOver != null)
  12.         {
  13.             MouseOver(this.gameObject);//传递参数
  14.         }
  15.     }
  16. }
  17. public class EventDis : MonoBehaviour {

  18.     public GameObject game;
  19.     EventDispatcher EventHand;
  20.         void Start () {
  21.                 EventHand = game.GetComponent<EventDispatcher>();
  22.         }
  23.     void Listener(GameObject g)
  24.     {
  25.         Debug.Log(g.name);        
  26.     }
  27.     void OnMouseDown()
  28.     {
  29.         EventHand.MouseOver += Listener;//实现委托
  30.     }
  31. }
复制代码





欢迎光临 纳金网 (http://rs.narkii.com/club/) Powered by Discuz! X2.5