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. fragment滑动界面

    1.代码页面 package com.example.fragment_list_copy; import android.app.FragmentManager;import android.sup ...

  2. python列表中的所有值转换为字符串,以及列表拼接成一个字符串

    >>> ls1 = ['a', 1, 'b', 2] >>> ls2 = [str(i) for i in ls1] >>> ls2 ['a', ...

  3. js任意数组按下标相加

    let a=[1,2,3], b=[4,5,6]; let s = a.map(function(v, i) { return v + b[i]; }); console.log(s);

  4. vim YouCompleteMe 遇到的问题及解决

    问题1: 补充,升级gcc,g++ 到4.7以上的版本才能安装成功 github 官网 github https://github.com/Valloric/YouCompleteMe#ubuntu- ...

  5. [转]Win2012的 IIS 503 错误

    下载并安装 https://www.microsoft.com/zh-CN/download/details.aspx?id=48145 因为安装了 dotnet-hosting-2.2.3-win. ...

  6. 7.7 wordcnt.c 程序

    wordcnt.c 程序 #include <stdio.h> #include <ctype.h> // 为isspace() 函数提供原型 #include <std ...

  7. 【坑】linux目录软连接的相关操作--很容易误操作

    写一下文档,记录自己工作中的重大事故,警醒自己以后别犯错. 1)目录不能进行硬连接,只能进行软连接,也就是 ln命令必须加上 -s 参数,如下: [root@ALIYUN:~]#ln /srv/bak ...

  8. 性能测试Jmeter压测ZooKeeper-自定义java请求

     要想通过自定义java请求来压测ZooKeeper,那么我们就需要做两件事情,第一我们需要知道java如何操作ZooKeeper,第二就是怎么能将我们写的jar包让jmeter识别,首先我们先来干第 ...

  9. nginx出现404和403错误

    配置文件的路径usr/local/nginx/conf/nginx.conf

  10. 如何自学Java开发

    对于这个话题,已经不止N次在线上或线下听到了.从这个话题被太多的人提问及回答,我们可以肯定地说,Java这个已经有近15年头的计算机编程语言是有着及其广阔的应用领域和独特而短期无法替代的优势.我们姑且 ...