最近在研究UI的东西,在一个网站上学到了不少,就把自己喜欢的东西先码下来,首先就是依照NGUI中的使用方法写的一个脚本EventTriggerListener,代码如下:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.EventSystems;
public class EventTriggerListener : UnityEngine.EventSystems.EventTrigger {
public delegate void VoidDelegate(GameObject go);
public delegate void VectorDelegate(GameObject go, Vector2 delta);
public VoidDelegate onClick;
public VoidDelegate onDown;
public VoidDelegate onEnter;
public VoidDelegate onExit;
public VoidDelegate onUp;
public VoidDelegate onSelect;
public VoidDelegate onUpdateSelect;
public VectorDelegate onDrag;
public VoidDelegate onDragOut;
static public EventTriggerListener Get(GameObject go)
{
if (go == null)
{
Debug.LogError("EventTriggerListener_go_is_Null"); return null;
}
else
{
EventTriggerListener listener = go.GetComponent<EventTriggerListener>();
if (listener == null)
{
listener = go.AddComponent<EventTriggerListener>();
}
return listener;
}
}
public override void OnDrag(PointerEventData eventData)
{
if (onDrag != null) onDrag(gameObject, eventData.delta);
}
public override void OnEndDrag(PointerEventData eventData)
{
if (onDragOut != null) onDragOut(gameObject);
}
public override void OnPointerClick(PointerEventData eventData)
{
if (onClick != null) onClick(gameObject);
}
public override void OnPointerDown(PointerEventData eventData)
{
if (onDown != null) onDown(gameObject);
}
public override void OnPointerEnter(PointerEventData eventData)
{
if (onEnter != null) onEnter(gameObject);
}
public override void OnPointerExit(PointerEventData eventData)
{
if (onExit != null) onExit(gameObject);
}
public override void OnPointerUp(PointerEventData eventData)
{
if (onUp != null) onUp(gameObject);
}
public override void OnSelect(BaseEventData eventData)
{
if (onSelect != null) onSelect(gameObject);
}
public override void OnUpdateSelected(BaseEventData eventData)
{
if (onUpdateSelect != null) onUpdateSelect(gameObject);
}
}
我一直都是在一个很好的学习网站上在学,下面给出福利网站地址,可以学到很多有用的东西,下面给出的是关于对按钮点击进入退出的监视功能。