一.OnClick(3d物体对象或界面按钮只要加上BoxCollider都可用,缺点是太麻烦,不好管理)
public class onclicktest:MonoBehaviour{
public void OnClick()
{
Debug.Log("OnClick触发了!");
}
}
二.Event Listener(Event Listener选择要挂载的按钮,在Unity导航菜单栏中选择Component->NGUI->Internal ->Event Listener就可以了。方便统一管理,效率不错)
voidStart()
{
//第一种
UIEventListener.Get(btn01.gameObject).onClick = (x) =>
{
Debug.Log("UIEventListener第一种触发了!");
};
//第二种
UIEventListener.Get(btn02.gameObject).onClick = _btnClicked;
}
//实现事件方法
private void_btnClicked(GameObject _go)
{
Debug.Log("UIEventListener第二种触发了!");
}
三.EventDelegate(方便统一管理,可以单独创建一个事件管理脚本,直接操作管理)
publicclassEventUITest:MonoBehaviour{
publicUIButton _btn;
privatevoidAwake()
{
//必须为 UIButton 类型
EventDelegate.Add (this._btn.onClick,this.BtnClicked);
}
privatevoidBtnClicked()
{
Debug.Log("EventDelegate触发了!");
}
}
//鼠标点击NPC实现对话
void OnMouseOver() {
renderer.material.color -=newColor(0.1F,0,0) * Time.deltaTime;
}
网友评论