Unity中鼠标和键盘同时按下监听实现

本文介绍了一种在Unity中通过组合按键(鼠标左键+左Ctrl键)来发送装备信息的方法,并提供了一段代码实现。此外,还分享了如何在UI上实现双击功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在项目中做装备信息发送,鼠标左键和左ctrl键同时按下,发送选中的装备信息。一开始以为直接在Update函数中

Input.GetKeyDown(KeyCode.LeftControl)&&Input.GetMouseButtonDown(0),结果发现效果不是很好,毕竟两只手按下会有点时间差,导致不是很灵敏。

最后想了一个效果还可以的办法,类似于双击,但感觉好像又有点不同。请看代码:

 if (Input.GetMouseButtonDown(0))
        {
            timer1 = Time.time;
            if (timer1 != 0 && timer2 != 0)
            {
                if (Mathf.Abs(timer1 - timer2) < 0.5f)
                {                   
                    timer1 = 0;

                    timer2 = 0;

                   Debug.Log("ok");                   

                }
            }
        }
        if (Input.GetKeyDown(KeyCode.LeftControl))
        {
            timer2 = Time.time;
            if (timer1 != 0 && timer2 != 0)
            {
                if (Mathf.Abs(timer1 - timer2) < 0.5f)
                {             
                    timer1 = 0;
                    timer2 = 0;
                   Debug.Log("ok");
                }
            }

        }

最后发现效果还不错。

UI上面实现双击:

实现接口IPointerClickHandler

eventData.clickCount==2即可监听双击事件

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值