当前位置: 首页 > news >正文

南海区住房和城乡建设部网站阿里巴巴官网首页

南海区住房和城乡建设部网站,阿里巴巴官网首页,网站开发工作总结,拼多多app官方下载编写监听脚本 PEListenter 继承自MonoBehaviour类,并实现了IPointerDownHandler、IPointerUpHandler和IDragHandler接口,按照需求定义需要接收事件(鼠标按下、抬起、拖拽)的回调函数 //监听类(需要挂载在物体上面&am…

编写监听脚本 PEListenter

  • 继承自MonoBehaviour类,并实现了IPointerDownHandlerIPointerUpHandlerIDragHandler接口,按照需求定义需要接收事件(鼠标按下、抬起、拖拽)的回调函数
//监听类(需要挂载在物体上面)
public class PEListenter : MonoBehaviour, IPointerDownHandler,IPointerUpHandler,IDragHandler
{//存储点击,抬起,拖拽事件的回调public Action<PointerEventData> onClickDown;public Action<PointerEventData> onClickUp;public Action<PointerEventData> onDrag;//OnPointerDown方法在用户按下鼠标时被调用,它接收一个PointerEventData参数,//可以通过该参数获取有关鼠标点击事件的信息。//当鼠标拖动时,Unity将调用此方法。它检查onClickDown回调函数是否为null,不为空,则调用回调并传递eventData参数。public void OnPointerDown(PointerEventData eventData){if (onClickDown != null){onClickDown(eventData);}}//OnPointerUp方法在用户抬起鼠标时被调用public void OnPointerUp(PointerEventData eventData){if (onClickUp != null){onClickUp(eventData);}}//OnDrag方法在用户拖动鼠标时被调用public void OnDrag(PointerEventData eventData){if (onDrag != null){onDrag(eventData);}}
}

操作函数封装

  • 这段代码是一个用于获取或添加组件的方法 GetOrAddComponect<T>(GameObject go) 和一个封装点击事件的方法 OnClickDown(GameObject go, Action<PointerEventData> cb)

 protected T GetOrAddComponect<T>(GameObject go)where T : Component{T t = go.GetComponent<T>();if (t == null){t = go.AddComponent<T>();}return t;}//各类点击事件的封装protected void OnClickDown(GameObject go,Action<PointerEventData> cb){
//调用GetOrAddComponect函数对go物体进行脚本添加,并赋值给实例化listener
//为listener内的点击事件传入回调函数PEListenter listener = GetOrAddComponect<PEListenter>(go);listener.onClickDown = cb;}protected void OnClickUp(GameObject go, Action<PointerEventData> cb){//只有点击挂载了PEClicke脚本的物体才有鼠标事件的数据PEListenter listener = GetOrAddComponect<PEListenter>(go);listener.onClickUp = cb;}protected void OnDrag(GameObject go, Action<PointerEventData> cb){//只有点击挂载了PEClicke脚本的物体才有鼠标事件的数据PEListenter listener = GetOrAddComponect<PEListenter>(go);listener.onDrag = cb;}
  • GetOrAddComponect<T>(GameObject go) 方法的目的是为了获取指定游戏对象 go 上的一个特定类型的组件 T,如果该组件不存在,则会自动添加该组件到游戏对象上。这个方法使用了泛型 <T>,使得可以动态地传入不同类型的组件。该方法返回类型为 T 的组件。

    • T:表示一个继承自 Component 类的类型,这样确保传入的类型是一个组件类型
    • go:表示要获取或添加组件的游戏对象。
  • OnClickDown(GameObject go, Action<PointerEventData> cb) 方法是一个封装了点击事件的方法,它接受两个参数:

    • go:表示要绑定点击事件的游戏对象。
    • cb:表示点击事件发生时要执行的回调函数,它接受一个 PointerEventData 参数,通常用于处理点击事件的具体逻辑
  • OnClickDown 方法内部,首先调用了 GetOrAddComponect<PEListenter>(go) 方法获取或添加了一个名为 PEListenter 的组件,并将返回的 PEListenter 实例赋值给 listener 变量。然后,将传入的点击事件回调函数 cb 赋值给 listener 实例的 onClickDown 委托,这样当点击事件发生时,就会执行这个回调函数。 

具体函数调用

 public void RegisterTouchEvts(){//鼠标按下,轮盘位置改变,点出现,记录鼠标开始位置//imgTouch是需要事件监听的非按钮物体OnClickDown(imgTouch.gameObject, (PointerEventData evt) =>{//当鼠标在非按钮物体按下,需要进行的操作    });//鼠标抬起,轮盘位置恢复,点隐藏OnClickUp(imgTouch.gameObject, (PointerEventData evt) => {//当鼠标在非按钮物体按下,需要进行的操作  });//拖拽,设置点的位置,在40范围内以及超出40OnDrag(imgTouch.gameObject, (PointerEventData evt) => {//当鼠标在非按钮物体按下,需要进行的操作  });}

http://www.yayakq.cn/news/805290/

相关文章:

  • 哪个网站可下载免费pptwordpress生成静态 mip
  • 辽宁省城乡住房和建设厅网站如何开发公司的网站
  • APP加网站建设预算多少钱建立企业网站几天
  • 甘肃金顶建设公司网站员工管理系统源码
  • 进什么网站接模具做西安有什么好玩的景点推荐
  • 深圳做网站外包公司有哪些邢台企业做网站费用
  • 青海省建设网站多少钱推广普通话的重要性
  • 网站使用方法备案网站ip
  • 绿色风格网站为什么访问外国网站速度慢
  • 河南商务学校网站建设下载用的网站怎么做
  • 企业网站明细费用租车网站制作
  • 做网站的软件是是什么网站建设hairongsoft
  • html5响应式手机网站川制作官方网站
  • 打鱼跟电子游戏网站怎么做宁安市建设局网站
  • 15.下面对网站结构描述正确的是( )做兼职上什么网站找
  • 门户网站 集成 移动app 方案织梦网站后台密码错误
  • 网站建设和管理情况自查报告国内做进口的电商网站
  • 茂名企业网站开发seo 优化教程
  • 做网站犯法企业网站建设好处
  • 微信认证 网站WordPress设置页数
  • 免费网站建站教程手机端网站外部链接如何去优化
  • 广州市公司网站建设价格在国外做热情网站的风险
  • 华为网站建设wordpress app页面模板
  • 郑州网站建设zzmshl常德网站建设设计
  • 济南哪家公司可以做网站海南专业网站开发公司
  • 网站乱码做淘宝要用的网站
  • 制作一个网站并上传访问深圳设计公司有多少家
  • 网站数据分析表格国内软件开发培训机构
  • 电影网站开发PPT模板php网站开发兼容怎么设置
  • 众鱼深圳网站建设铜川做网站电话