【Unity】 NGUI UIEventListener

UIEventListener.cs 对一些常用的事件进行了封装和继承。

  一,常用事件:

  void OnClick ():点击事件;

  void OnDoubleClick ():二次或多次点击事件

  void OnHover (bool isOver):手指覆盖事件;

  void OnPress (bool isPressed):手指点击事件,包含按下、抬起;isPressed为按下,false为抬起;

  void OnSelect (bool selected):是否被选择;

  void OnDrag (Vector2 delta):手指滑动事件;

  void OnKey (KeyCode key):“键”事件;

  二,实质:

  这些监听事件都是建立在委托事件上:

  publicdelegatevoid BoolDelegate (GameObject go, bool state);

  public BoolDelegate onPress;

  三,前提条件:

  UIEventListener的GameObejct包含Colllider;

  四,怎使用:

  1,静态关联方法:

  UIEventListener.Get(GameObject).OnPress += pressList;

  2,直接重写:

  脚本所在的GameObject包含Colllider,直接重写监听事件:

  publicclass SceneTwo : MonoBehaviour {

  void OnPress (bool pressed)

  {

  Debug.Log(“OnPress ”+enabled+“   ”+NGUITools.GetActive(gameObject)+“   ”+pressed);

  if (enabled && NGUITools.GetActive(gameObject))

  {

  }

  }

  void OnDrag (Vector2 delta)

  {

  Debug.Log(“OnDrag ”+enabled+“   ”+NGUITools.GetActive(gameObject)+“   ”+delta);

  if (enabled && NGUITools.GetActive(gameObject))

  {

  }

  }

  }

你可能感兴趣的:(【Unity】 NGUI UIEventListener)