uGUI事件监听
来源:互联网 发布:淘宝网ang卫衣 编辑:程序博客网 时间:2024/05/22 05:23
ugui鼠标经过,鼠标离开 第一部分放在一个脚本中,放进去不用管 第二部分放在一个脚本中,这是要用的,放在要改变的物体上
第一个脚本
using UnityEngine;
using System.Collections;using UnityEngine.EventSystems;
public class EventTriggerListener : UnityEngine.EventSystems.EventTrigger{
public delegate void VoidDelegate (GameObject go);
public VoidDelegate onClick;
public VoidDelegate onDown;
public VoidDelegate onEnter;
public VoidDelegate onExit;
public VoidDelegate onUp;
public VoidDelegate onSelect;
public VoidDelegate onUpdateSelect;
static public EventTriggerListener Get (GameObject go)
{
EventTriggerListener listener = go.GetComponent<EventTriggerListener>();
if (listener == null) listener = go.AddComponent<EventTriggerListener>();
return listener;
}
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);
}
}
第二个脚本
using UnityEngine;
using System.Collections;
public class ButonChange : MonoBehaviour {
public GameObject button;
void Start () {
EventTriggerListener.Get(button).onEnter = OnMouseEnter;
EventTriggerListener.Get(button).onExit = OnMouseExit;
EventTriggerListener.Get(button).onClick = OnClick;
}
void OnMouseEnter(GameObject go) //鼠标经过
{
if (go.name == "Button")
transform.localScale = new Vector3(2, 2, 2);
}
void OnMouseExit(GameObject go)//鼠标离开
{
if (go.name == "Button")
transform.localScale = new Vector3(1, 1,1);
}
void OnClick(GameObject go) //鼠标按下
{
if (go.name == "Button")
transform.localScale = new Vector3(3,3,3);
}
}
- 【UGUI】UGUI的事件监听
- uGUI事件监听
- UGUI 按钮监听事件
- UGUI事件监听总结
- 【Unity3D ugui】事件监听机制
- UGUI的事件监听机制
- UGUI的按钮监听事件
- UGUI穿透3D世界判断&&UGUI全事件监听
- 【Unity3D ugui】简单控件的事件监听
- UGUI 按钮的监听事件系统
- UGUI Toggle的监听事件绑定
- UGUI-仿照NGUI的事件监听机制
- UGUI的按钮监听事件系统
- UGUI控件之按钮的监听事件系统
- unity3D 在UGUI中动态添加button的监听事件
- ToLua学习笔记,使用委托,监听UGUI组件事件
- [Unity][UGUI]DropDown下拉框监听改变值的事件
- UGUI 事件
- 1042. Shuffling Machine (20)
- [BOI Mokia]
- linux 查看磁盘空间占用情况
- 开发环境设置
- Go语言并发与并行学习笔记(一)
- uGUI事件监听
- 定时器 QuartZ Cron表达式
- @Override
- VBOX command
- 此证书的签发者无效
- 3dmax蒙皮后模型缩放问题解决笔记
- android中的更新功能实现
- 高斯消元练习
- 自定义控件(一)