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. 使用velodyne16线激光雷达跑loam-velodyne

    一.velodyne-VLP16使用教程 推荐网址: http://blog.csdn.net/littlethunder/article/details/51920681 https://www.c ...

  2. 使用Netty开发RPC的技术原理

    本片文字摘抄自https://www.cnblogs.com/jietang/p/5615681.html 1.定义RPC请求消息.应答消息结构,里面要包括RPC的接口定义模块,包括远程调用的类名.方 ...

  3. 微信小程序中的组件使用2

    需求    上面两个页面是同一个小程序的不同页面,两个页面中都是用到了label,有相似的地方,但是也有不同之处,这个时候,如果我们想要将这些label做出组件,然后复用,有该怎么做呢? 基础组件 首 ...

  4. jupyter依赖tornado版本

    使用jupyter莫名奇妙出现500错误,发现是更新tornado出了问题,我的jupyter版本是5.7.4不支持6.x版本的tornado,回退到5.x版本的tornado就好了. pip ins ...

  5. Java 工程师成神之路 | 2019正式版

    本文为转载,原文见以下链接:https://mp.weixin.qq.com/s/4AMzq87V6eW3YPgE0mCdSw 1 基础篇 01 面向对象 → 什么是面向对象 面向对象.面向过程 面向 ...

  6. 更多的bash命令

    深入介绍Linux系统管理命令,可以使用这些命令处理系统上的数据文件: 1.监控程序 1.1.进程的查看 ps 查看进程 GNU ps 命令支持3种不同的命令行参数: 1.Unix类型参数,前面一条短 ...

  7. vs2017安装和使用教程(详细)

    借鉴:https://blog.csdn.net/qq_36556893/article/details/79430133#一.官网下载

  8. 分享一个Snackbar工具类 SnackbarUtils;

    分享一个Snackbar工具类,源代码也是在Github上面找的,自己做了一下修改: 功能如下: 1:设置Snackbar显示时间长短                 1.1:Snackbar.LEN ...

  9. css常见布局问题

    1.如何实现一个盒子在页面中上下左右居中 方法一:(盒子宽高固定时) .box{ width:400px; height:200px; background:#000; position:absolu ...

  10. MindFusion 中节点关键路径的遍历

    工作中总能遇到 一些 奇葩的需求,提出这些奇葩需求的人,多半也是奇葩的人,要么不懂相关的计算机软件知识,要么就是瞎扯蛋,异想天开,然而这些奇葩的需求,我也总能碰到.言规正传,在一次项目中,使用了 Mi ...