UGUI脚本添加Btn回调的方法
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回调的方法的更多相关文章
- Android给控件添加触摸回调
Android给控件添加触摸回调 脑补一个场景,一个页面点击某个按钮会弹出PopupWindow,然后点击PopupWindow以外的任意位置关闭 效果图 实现方法 可以在布局的最外层容器监听触摸事件 ...
- 学习Linux shell脚本中连接字符串的方法
这篇文章主要介绍了Linux shell脚本中连接字符串的方法,如果想要在变量后面添加一个字符,可以用一下方法: 代码如下: $value1=home $value2=${value1}"= ...
- JQuery为元素添加样式的实现方法
由于jquery支持css3,所有能很好的兼容很多浏览器,所以通过jquery来使用css样式比较好 为定义好的css样式可以调用元素的css方法添加样式 $("span").cs ...
- Android C代码回调java方法
本文将讲述下列三种C代码回调java方法 1.c代码回调java空方法 2.c代码回调java int类型参数方法 3.c代码回调javaString类型参数方法 方法都差不多,先看c代码回调java ...
- 在Asp.Net MVC中用Ajax回调后台方法
在Asp.Net MVC中用Ajax回调后台方法基本格式: var operData = ...; //传递的参数(action中定义的) var type = ...; //传递的参数(action ...
- 在Visualforce page中用自带的控件实现Ajax回调后台方法(并且可以用js去动态给parameters赋值)
这里用的组合是:apex:commandLink + apex:actionFunction + apex:outputPanel 这里的 apex:commandLink 和 apex:actio ...
- 给ul中的li添加事件的多种方法
给ul中的li添加事件的多种方法 这是一个常见,而且典型的前端面试题 <ul> <li>11111</li> <li>22222</li> ...
- ASP.NET repeater添加序号列的方法
ASP.NET repeater添加序号列的方法 1.<itemtemplate> <tr><td> <%# Container.ItemIndex + 1% ...
- js实现class样式的修改、添加及删除的方法
本文实例讲述了js实现class样式的修改.添加及删除的方法.分享给大家供大家参考.具体分析如下: 比较常见的js前端功能,通过修改标签的className实现相应的功能. 具体代码如下: <t ...
随机推荐
- python-实现3级菜单(作业课)
#任务: #显示3级菜单 #1级菜单#显示 3个城市 => 1北京 2上海 3广州 #2级菜单 #显示 选择1 北京 => B1 B2 B3 #2级菜单 #显示 选择2 上海 => ...
- Spring编程式事务管理和声明式事务管理
本来想写一篇随笔记一下呢,结果发现一篇文章写的很好了,已经没有再重复写的必要了. https://www.ibm.com/developerworks/cn/education/opensource/ ...
- 升级GCC以支持C++11
本文主要介绍在Linux系统下,如何升级GCC以支持C++11.目前来看GCC是对C++11支持程度最高最多的编译器,但需要GCC4.8及以上版本. 本文使用操作系统:Centos 6.4 Desk ...
- CleanMyMac X教程之-安装卸载
Mac清理软件CleanMyMac X的出现成功的吸引了Mac用户的注意,CleanMyMac X是2018年发布的,深受许多Mac用户的青睐.windows操作端有360等众多清洁软件,那么Mac端 ...
- json2.js JSON解析程序
源码: /* http://www.JSON.org/json2.js 2010-03-20 Public Domain. NO WARRANTY EXPRESSED OR IMPLIED. USE ...
- 2018.7.3 lnmp一键安装包无人值守版本 php7.2 + nginx1.14.0 + mariadb5.5 + centos7.1(1503) 环境搭建 + Thinkphp5.1.7 配置
给自己练习用的,整个过程追求一个简单粗暴,没有配置虚拟主机,现在记录一下过程. 1. 进入到lnmp解压缩后的文件夹conf/rewrite,把thinkphp.conf复制一份到/usr/local ...
- Point : GPU编程的艺术!一切的历史!
Point: 渲染渲染,神奇的渲染!! ———————————————— 只要你走的足够远,你肯定能到达某个地方. 1"GPU编程" History ————————— //由于笔 ...
- win10系统搜索不到某些老式打印机
问题: win10系统在设置选项里面搜索打印机,却找不到打印机. 百度了一下: 基本说的是驱动问题. 解决方法: 1.下载lansee局域网扫描软件 2.打开嗅探工具点击开始 3.搜索出来之后,会在共 ...
- 初识Git->GitHub
这不是一篇教程,这是学习过程的一个记录,初次使用GitHub的小白请移步文章末尾的参考链接, 先了解Git是什么东西 Git的工作流程 操作Git 练习使用 边用边学 #--------------- ...
- tp5邮件发送
一.开启SMTP服务(使用php发送邮件需要用到SMTP服务,这里以163邮箱的SMTP服务为例) 1.登录163邮箱,在首页上找到“设置”. 2.选择开启的服务,一般都全选,POP3/SMTP/IM ...