using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems; //对添加这个脚本的对象添加EventTrigger组件
[RequireComponent(typeof(UnityEngine.EventSystems.EventTrigger))]
public class BtnPointClick : MonoBehaviour { Button btn;
EventTrigger.Entry beginClick;
EventTrigger.Entry pointClick;
EventTrigger.Entry endClick;
EventTrigger eventTrigger; void Awake()
{
btn = this.GetComponent<Button>();
eventTrigger = this.GetComponent<EventTrigger>(); beginClick = new EventTrigger.Entry();
pointClick = new EventTrigger.Entry();
endClick = new EventTrigger.Entry();
}
void Start () {
beginClick.eventID = EventTriggerType.PointerDown;
pointClick.eventID = EventTriggerType.PointerClick;
endClick.eventID = EventTriggerType.PointerUp;
//注册事件回调
beginClick.callback = new EventTrigger.TriggerEvent();
pointClick.callback = new EventTrigger.TriggerEvent();
endClick.callback = new EventTrigger.TriggerEvent();
//添加事件监听
beginClick.callback.AddListener(BeginClickEvent);
pointClick.callback.AddListener(PointClickEvent);
endClick.callback.AddListener(EndClickEvent); //添加事件到委托事件
eventTrigger.triggers.Add(beginClick);
eventTrigger.triggers.Add(pointClick);
eventTrigger.triggers.Add(endClick);
} /// <summary>
/// 开始点击的事件回调
/// </summary>
/// <param name="data"></param>
private void BeginClickEvent(BaseEventData data)
{
Debug.Log("开始点击");
}
/// <summary>
/// 点击的事件回调
/// </summary>
/// <param name="data"></param>
private void PointClickEvent(BaseEventData data)
{
Debug.Log("点击事件");
}
/// <summary>
/// 鼠标抬起的事件回调
/// </summary>
/// <param name="data"></param>
private void EndClickEvent(BaseEventData data)
{
Debug.Log("鼠标抬起事件");
}
}

  

UGUI脚本添加Btn回调的方法的更多相关文章

  1. Android给控件添加触摸回调

    Android给控件添加触摸回调 脑补一个场景,一个页面点击某个按钮会弹出PopupWindow,然后点击PopupWindow以外的任意位置关闭 效果图 实现方法 可以在布局的最外层容器监听触摸事件 ...

  2. 学习Linux shell脚本中连接字符串的方法

    这篇文章主要介绍了Linux shell脚本中连接字符串的方法,如果想要在变量后面添加一个字符,可以用一下方法: 代码如下: $value1=home $value2=${value1}"= ...

  3. JQuery为元素添加样式的实现方法

    由于jquery支持css3,所有能很好的兼容很多浏览器,所以通过jquery来使用css样式比较好 为定义好的css样式可以调用元素的css方法添加样式 $("span").cs ...

  4. Android C代码回调java方法

    本文将讲述下列三种C代码回调java方法 1.c代码回调java空方法 2.c代码回调java int类型参数方法 3.c代码回调javaString类型参数方法 方法都差不多,先看c代码回调java ...

  5. 在Asp.Net MVC中用Ajax回调后台方法

    在Asp.Net MVC中用Ajax回调后台方法基本格式: var operData = ...; //传递的参数(action中定义的) var type = ...; //传递的参数(action ...

  6. 在Visualforce page中用自带的控件实现Ajax回调后台方法(并且可以用js去动态给parameters赋值)

    这里用的组合是:apex:commandLink  + apex:actionFunction + apex:outputPanel 这里的 apex:commandLink 和 apex:actio ...

  7. 给ul中的li添加事件的多种方法

    给ul中的li添加事件的多种方法 这是一个常见,而且典型的前端面试题 <ul> <li>11111</li> <li>22222</li> ...

  8. ASP.NET repeater添加序号列的方法

    ASP.NET repeater添加序号列的方法 1.<itemtemplate> <tr><td> <%# Container.ItemIndex + 1% ...

  9. js实现class样式的修改、添加及删除的方法

    本文实例讲述了js实现class样式的修改.添加及删除的方法.分享给大家供大家参考.具体分析如下: 比较常见的js前端功能,通过修改标签的className实现相应的功能. 具体代码如下: <t ...

随机推荐

  1. 【C++】类中this指针的理解

    转自 苦涩的茶https://www.cnblogs.com/liushui-sky/p/5802981.html C++类中this指针的理解 先要理解class的意思.class应该理解为一种类型 ...

  2. docker 恶意镜像到容器逃逸影响本机

    转载:http://521.li/post/122.html SUSE Linux GmbH高级软件工程师Aleksa Sarai公布了影响Docker, containerd, Podman, CR ...

  3. rabbit原理及项目应用

    1.rabbitMQ是什么? mq是由erlang语言开发的开源的amqp的实现. 2.rabbitMQ的基本原理是什么? 使用RabbitMQ,首先需要与rabbitMQ的visiu host建立连 ...

  4. chrome的console功能

    Console的常用用法: 1:显示信息 常用的有 console.log(),console.info(),console.warn(),console.error() 2:占位符 3:查看对象的信 ...

  5. 关闭Cadence Orcad Capture CIS原理图弹出startpage页面的方法

    打开原理图工具 Orcad Capture CIS 时,总是会弹出startpage 页面,有时候感觉这个东西挺碍事的,还是关了感觉好.解决方法如下:(1) View---Toolbar----Com ...

  6. C#将unix时间戳转换成.net的DateTime类型的代码

    下面的内容是关于C#将unix时间戳转换成.net的DateTime类型的内容. DateTime epoch = new DateTime(1970,1,1,0,0,0,0, DateTimeKin ...

  7. Oracle数据库中OVER()函数的了解

    1.over函数介绍:      开窗函数,Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个组返回多行,而聚合函数对于每个组只返回一行. ...

  8. QVector也是隐式数据共享的

    Behind the scenes, QString uses implicit sharing (copy-on-write) to reduce memory usage and to avoid ...

  9. java基础语法(标识符 修饰符 关键字)

    标识符 用来表示类名,变量名,方法名,类型名,数组名,文件名的有效字符序列称为标识符.   1)只有字母(区分大小写),下划线,美元符号和数字组成,长度不受限制.注:字母包括英文26个字母 ,汉字,日 ...

  10. 在windows 10 上使用aspnet_regiis.exe -i 命令报 “此操作系统版本不支持此选项” 的解决办法

    用CMD窗口在C:\Windows\Microsoft.NET\Framework64\v4.0.30319下使用命令aspnet_regiis -i 报错: “此操作系统版本不支持此选项” .结果是 ...