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

企业网站建设公和布克赛尔网站建设

企业网站建设公,和布克赛尔网站建设,网站页面设计规范,麦云短链接在开发游戏和交互式应用程序时#xff0c;经常需要对用户的鼠标点击进行准确的响应。其中#xff0c;单击和双击事件的判断是常见需求之一。本文将介绍如何在Unity中优雅地实现鼠标单双击判断#xff0c;使代码结构清晰、易读、易维护。 背景 在许多项目中#xff0c;我们…在开发游戏和交互式应用程序时经常需要对用户的鼠标点击进行准确的响应。其中单击和双击事件的判断是常见需求之一。本文将介绍如何在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.hkea.cn/news/14531663/

相关文章:

  • 有口碑的常州网站优化网页制作平台有什么
  • 网站开发设计有限公司郑州软件公司排行榜
  • 轴承网站建设济南网站建设行知科技
  • 网站关键词搜索排名减少WordPress跳转
  • 市通建设工程质量监督局网站免费公司企业建站代理
  • 模板网站是啥意思做网站推广话术
  • 网站建设推广刘贺稳1公司网站网络营销是什么
  • 浙江省建设工程招投标网站设计网站建设书南昌大学论文
  • 厦门网站建设u建设公司的网站首页
  • 宁波行业网站建设上传发布的步骤分为哪六个部分
  • iis默认网站属性网站对公司的作用是什么
  • 上海建筑公司黄页东莞网站seo推广
  • 网站网络排名优化方法黄冈做网站技术支持的
  • 电子商务网站开发主要有哪些一台网站服务器多少钱
  • 九龙坡网站建设oa办公系统开发
  • 深圳做网站行业网站建设的一般流程是怎样的
  • 无锡网站制作哪家便宜南昌建设局
  • 做网站前期需求分析收费么互联网媒体广告公司
  • 库存网站建设定制关键词优化难度查询
  • 查找网站备案黑色asp企业网站源码
  • 优酷网站建设视频教程集湖州建设局网站 项目验收流程
  • 做网站或者app咨询聊城网站建设
  • 重生做网站小说做网站编辑有人带吗
  • 网站可以做音频线吗seo快速排名的方法
  • 中国建设监理协会网站继续教育系统视频网站 备案
  • 微信网页制作网站游戏建模培训
  • 天津公司网站开发苏州智信建设职业培训网站
  • 海南网站建设学做静态网站
  • 19手机网站浙江人事考试网
  • 网站建设需要做哪些工作wordpress美化滑动