- 最后登录
- 2016-8-29
- 注册时间
- 2012-8-25
- 阅读权限
- 90
- 积分
- 23585
- 纳金币
- 20645
- 精华
- 62
|
// 个人对于NGUI响应事件的粗浅理解,不到位之处,希望指教,共同学习,共同进步
// 以这个表达式为例,分析如下,感觉其他的原理也差不多
UIEventListener.Get(btn1).onClick = (x)=>{Debug.Log(x);};
// 1、UIEventListener.Get(btn1)给该物体添加UIEventListener组件
// 2、.onClick = 调用委托,并注册委托事件
// 3、(x)=>{Debug.Log(x);};注册委托使用了Lamda表达式,Lamda表达式可以理解为没有名字的函数
// * (x)为函数参数,
// * =>为该表达式的格式
// * {Debug.Log(x);};这部分为函数体,之所以后边用了; 是因为它是个表达式*/
// **********************附上NGUI源码**************************
//添加UIEventListener组件函数
// static public UIEventListener Get (GameObject go)
// {
// UIEventListener listener = go.GetComponent<UIEventListener>();
// if (listener == null) listener = go.AddComponent<UIEventListener>();
// return listener;
// }
//定义的委托类型
// public delegate void VoidDelegate (GameObject go);
//实例化委托
// public VoidDelegate onClick;
|
|