Ngui 常用动态点击事件

2018-08-18  本文已影响24人  豆铮

一.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;

    }

上一篇 下一篇

猜你喜欢

热点阅读