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

网站建设phpwordpress自定义页面链接

网站建设php,wordpress自定义页面链接,h5个人网站模板,网站甚而模板在开发游戏和交互式应用程序时,经常需要对用户的鼠标点击进行准确的响应。其中,单击和双击事件的判断是常见需求之一。本文将介绍如何在Unity中优雅地实现鼠标单双击判断,使代码结构清晰、易读、易维护。 背景 在许多项目中,我们…

在开发游戏和交互式应用程序时,经常需要对用户的鼠标点击进行准确的响应。其中,单击和双击事件的判断是常见需求之一。本文将介绍如何在Unity中优雅地实现鼠标单双击判断,使代码结构清晰、易读、易维护。

背景

在许多项目中,我们需要监测用户的鼠标点击事件,并根据单击和双击分别触发不同的操作。过去的实现方式可能会显得有些繁琐,而我们将展示一种更为简便的方法,使代码看起来更加清晰。

简单而有效的实现

首先,让我们看一下基本的鼠标点击检测实现:

float time1 = 0;
Action LeftMouseDownAction;void Update()
{if (Input.GetMouseButtonDown(0)){if (Time.realtimeSinceStartup - time1 < ConstVariable.MouseClickJudgeDelayTimer){// 处理双击事件CancelInvoke("LeftMouseDownDelayFunc");LeftMouseDownAction = null;//双击事件推送MessageCenter.Instance.DispatchMessage(InputEventId.LeftMouseDoubleDown);}else{// 处理单击事件time1 = Time.realtimeSinceStartup;//绑定单击事件LeftMouseDownAction = () => MessageCenter.Instance.DispatchMessage(InputEventId.LeftMouseDown);Invoke("LeftMouseDownDelayFunc", ConstVariable.MouseClickJudgeDelayTimer);}} 
}

上述代码通过 GetMouseButtonDown 检测左键点击,通过计时判断单击和双击事件。我设置的延迟时间为0.5s。

使用 Invoke 进行延迟调用

为了在规定的时间内判断是否发生了双击事件,我们引入了 Invoke 方法。这是一个强大而灵活的工具,用于在一定时间后执行指定的函数。以下是其在这个实现中的使用:

void LeftMouseDownDelayFunc()
{LeftMouseDownAction?.Invoke();
}

过这样的设计,我们成功地在Unity中实现了鼠标单双击判断的功能,使得代码更加简洁明了。

IPointerClickHandler接口实现方式

同时,在实现IPointerClickHandler接口中,我们也可以用此方法判断是单击还是双击。

using UnityEngine;
using UnityEngine.EventSystems;
using System;public class ClickHandler : MonoBehaviour, IPointerClickHandler
{private Action ClickAction;public void OnPointerClick(PointerEventData eventData){if (eventData.clickCount == 1 && eventData.pointerId == -1){HandleSingleClick();}else if (eventData.clickCount == 2 && eventData.pointerId == -1){HandleDoubleClick();}}private void HandleSingleClick(){ClickAction = () =>{// TODO: 处理单击事件};Invoke("ClickActionHandle", ConstVariable.MouseClickJudgeDelayTimer);}private void HandleDoubleClick(){CancelInvoke("ClickActionHandle");ClickAction = null;// TODO: 处理双击事件}private void ClickActionHandle(){ClickAction?.Invoke();}
}

总结

在本文中,我们介绍了一种在Unity中实现鼠标单双击判断的简便方法。通过对代码的轻微修改,我们使其更具可读性和模块化,同时引入了 Invoke 方法进行延迟调用。这样的设计不仅方便了代码的编写,也提高了后续的维护效率。

希望这个简单而实用的方法能够对你的项目有所帮助。如果你有任何疑问或建议,欢迎在评论区分享。感谢阅读!

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

相关文章:

  • php网站开发if的代码小程序交易买卖平台
  • 做好对外门户网站建设什么是网络营销的渠道策略
  • 做网站优化最快的方式养殖类网站模板
  • 我做的网页怎么是危险网站网站关键词优化的价格
  • 顺义成都网站建设河南高端网站建设
  • 网站开发外文文献wordpress 发帖
  • 阿里云网站建设方案书一定要嘛网站建设预计资金投入
  • 台州自助建站系统做仓单的网站
  • 如何做网站搭建api接口网站建设属于行政那个模块
  • 玉泉路做网站免费wordpress主题 h5
  • 学校网站建设工作静态网页设计作品欣赏
  • 名费网站制作视频教程东莞网页
  • 百度地图电脑版网页公司百度官网优化
  • 法律网站建设方案自己建立网站的方法
  • 西安的电商平台网站建设手机网站全屏显示
  • 河南联通 网站备案建设网站哪家比较好
  • 中卫市住房建设局网站广州app网站建设
  • 凡科模板建站网站开发工具总结
  • 低价网站建设行业现状动易网站默认密码
  • 河南省建设厅网站总经济师大良品牌网站建设
  • 网站找人做seo然后网站搜不到了最新新闻热点事件中国
  • 网站建设案例域名注册好怎么建设网站
  • 网站板块设计有哪些企业注册好了怎么做网站
  • 郑州企业网站如何建设高端网网站建设
  • 知名网站规划修改wordpress 5.2.1版权
  • 深圳建站服务公司企业网站里面的qq咨询怎么做
  • 招生门户网站建设方案重庆宣传片制作
  • 南通网站排名团队做引流的公司是正规的吗
  • 浙江省建设通网站wordpress背景图像
  • 龙岗做棋牌网站建设看男女做那个视频网站