unity鼠标单击物体与双击物体触发不同的事件

这篇具有很好参考价值的文章主要介绍了unity鼠标单击物体与双击物体触发不同的事件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

unity鼠标单击物体与双击物体触发不同的事件


前言

下面举例在unity里面Canvas下面添加一个image,当鼠标移动到image点击一次触发事件 Debug.Log(“SingleClick!”);当鼠标在image点击两次触发事件 Debug.Log(“DoubleClick!”);鼠标双击和单机出现不同的响应事件


一、首先操作

在Canvas或者需要点击的父物体上添加组件EventTrigger,打开 Add New Trigger 的菜单,添加 Pointer Click 事件和 Pointer Down 事件,如图所示:unity鼠标单击物体与双击物体触发不同的事件

二、创建脚本

1.创建一个名为 ClickHandler 的 C# 脚本,并将其挂载到需要点击的游戏对象上。>代码如下(示例):

using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;

public class ClickHandler : MonoBehaviour, IPointerClickHandler
{
    // 上一次点击的时间
    private float lastClickTime = 0;

    // 两次点击之间的最大时间间隔
    private float doubleClickInterval = 0.3f;

    // 单击事件回调函数
    public void OnPointerClick(PointerEventData eventData)
    {
        if (Time.time - lastClickTime < doubleClickInterval)
        {
            // 双击事件
            Debug.Log("DoubleClick!");
        }
        else
        {
            // 单击事件
            Debug.Log("SingleClick!");
        }

        // 更新上一次点击的时间
        lastClickTime = Time.time;
    }
}



unity鼠标单击物体与双击物体触发不同的事件

总结

在上述代码中,我们使用 lastClickTime 记录上一次单击的时间,在回调函数中计算两次单击之间的时间间隔,如果小于 doubleClickInterval,则认为触发了双击事件,否则触发了单击事件。文章来源地址https://www.toymoban.com/news/detail-508081.html

到了这里,关于unity鼠标单击物体与双击物体触发不同的事件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • antd table的单击事件和双击事件冲突

    问题:当table上同时有onClick和onDoubleClick时,双击会一直触发单击事件。 解决方法:使用延迟定时器-setTimeout                   单击事件延迟执行,如果检测到连续点击,则是双击事件,不再执行单击事件。 代码实现:

    2024年01月25日
    浏览(37)
  • 【Unity功能】鼠标移动触发事件方法

     方法一:方法触发 注意:UGUI不能使用该方法 方法二:Event Trigger 注意:需要场景中包含EventSystem(在添加trigger组件后自动添加);UGUI可以使用 方法三:

    2024年01月25日
    浏览(26)
  • 【Unity】两种方式实现弹跳平台/反弹玩家(玩家触发与物体自身触发事件实现蹦床的物理效果)

    只实现物理反弹的效果,不实现蹦床会有的视觉拉伸效果,请自行找相关代码 经过我的实践,我发现要想实现一个平台反弹的效果,要么就选择给player添加一个物理材质(平台加了没用), 但是这样会造成一个问题,如果我们要弄一个3d控制器的游戏,那么没理由让玩家什么

    2024年02月07日
    浏览(25)
  • 重写QTableView类解决鼠标右击、单击、双击问题(附使用方法)

    目录 一.重写响应事件 1.区分单击和右击 如何使用 2.区分单击和双击

    2024年02月15日
    浏览(34)
  • 【RuoYi移动端】uni-app中的单击和双击事件

     @click=\\\"enterpriseSelect\\\"  @touchend=\\\"userinfo\\\"

    2024年02月08日
    浏览(35)
  • 「Python|Selenium|场景案例」如何模拟鼠标单击、双击、右击、长按和拖拽等操作?

    本文主要介绍如何在使用selenium进行自动化测试的时候模拟各种鼠标操作。 在进行自动化测试的时候,我们可能会需要需要进行鼠标操作的场景,比如: 测试右击,查看是否网页是否屏蔽了右键菜单 面对滑块式登录验证方式,模拟拖拽 模拟前进或后退等鼠标扩展操作 ……

    2023年04月08日
    浏览(37)
  • 两种方式实现css取消页面鼠标双击选中文字或单击拖动选中文字的效果

    我们知道浏览器页面上的文字正常情况下我们是可以双击选中、或者单击鼠标横向拖动也能选中的,选中以后可以右击出现面板然后去复制什么的。但是有的时候,这种效果我们并不想要的,比如用户点快了的时候,所以我们需要禁用这种效果,本文记录一下禁用选中效果的

    2024年02月11日
    浏览(40)
  • 微信小程序长按与单击事件触发

    方式一 wxml 片段 js 片段 解析 tap 触摸事件采用 catch 阻止事件冒泡 1.5.0之后支持 longpress 事件,手指触摸后,超过350ms再离开,如果指定了事件回调函数并触发了这个事件,tap事件将不被触发 方式二(不推荐) longtap 事件,但在触发时会同时触发单击事件,需配合 touchstart 和

    2024年02月12日
    浏览(77)
  • Unity3D实现UI的单击、双击、拖动状态判断

    这篇文章就来实现UI的单击、双击、按压、拖动的不同状态判断。不定时更新Unity开发技巧,觉得有用记得一键三连哦。 示例、 判断单击和双击,主要是判断点击的次数。 UI的点击事件,需要继承UI的点击事件接口,重写点击事件即可。 UI点击事件接口: 3-1-1 所引用的命名空

    2024年01月20日
    浏览(35)
  • Qt实现鼠标双击事件

    当同一个部件既要响应鼠标单击事件又要响应鼠标双击事件时,就会发生冲突,如下例: 创建自己的按钮类,让其继承于QPushButton类 (特别注意!!!) ,在创建类的时候默认可供选择的基类中无QPushButton类且没有QPushButton类的基类,无法使用多重继承,故必须手动修改继承

    2024年02月10日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包