推荐使用方法4 比较简单 性能好一点
事件监听处理
1. 点击事件:【UIEventListener.Get(GameObject).onClick = OnClick;】
2. 其它事件基本与【1】中一致,支持的具体事件可以看UIEventListener中定义。
3. UIEventListener.Get()方法中会在对应的GameObject上创建一个UIEventListener脚本。
UIEventListener.Get(roadCreatButton.gameObject).onClick =
delegate(GameObject go)
{
Debug.Log("这里写处理点击按钮事件的逻辑");
};
方法2
在NGUI下UIRoot下的物体,如果当前物体有Box Collider,就可以当前物体上挂一个脚本,点击事件可以用
void OnClick(){} 这个方法监听鼠标单击
void OnPress(boo isPress)//这个方法来监听鼠标按下抬起 ,OnPress拖拽时也会触发,click按下抬起才触发
{
Debug.Log("这里写处理点击按钮事件的逻辑");
}
方法3
UIButton headBtn = transform.Find("HeadButton").GetComponent<UIButton>();
headBtn.onClick.Add(new EventDelegate(this,"OnHeadButtonClick"));//为按钮注册点击事件,
void OnHeadButtonClick()
{
Debug.Log("这里写处理点击按钮事件的逻辑");
}
方法4
UIButton close_button = transform.GetComponent<UIButton>();
close_button.onClick.Add(new EventDelegate(() =>
{
Debug.Log("这里写处理点击按钮事件的逻辑");
}));