同时检测LMB和RMB出现问题.我的鼠标坏了吗?



我目前正在用Unity3D开发一款游戏。游戏的一大特色便是同时按压LMB和RMB。

我的问题是,我用我自己的鼠标a Trust/15315测试了我的代码,它无法同时注册两个按钮,而只是单独按下两个按钮。然后我用另外3个鼠标测试了相同的代码,它工作得很好。

我的问题是:是我的鼠标坏了不能正常工作吗?还是我的鼠标有这个功能?是否有其他的鼠标,是建立这样的行为(不能够检测两个鼠标按钮在同一时间)?

按照要求,我添加了使用的代码:

using UnityEngine;
using System.Collections;
public class Gestures : MonoBehaviour {
    void Update () {
        print (Input.GetMouseButton(0)+" "+Input.GetMouseButton(2) + " "+ Input.GetMouseButton(1));
    }   
}

我还想补充的是,左边和中间按钮一起工作,但右边不能与其他两个一起工作。

很难说这是否是Unity的意图,以便在不同的鼠标和操作系统中实现干净的单键点击。

我遇到过类似的问题,发现从输入中读取鼠标按钮状态更可靠。GetMouseButtonDown和Input。GetMouseButtonUp事件。

然后我用另外3个鼠标测试了相同的代码,它工作得很好。

听起来像是你的鼠标。要找到确切的问题是很棘手的,因为在这个过程中有很多步骤。(硬件->板载软件->无线->驱动程序->操作系统-> Unity)在这个过程中的任何一点粗心的执行理论上都可能导致你所描述的问题。

正如其他人所提到的,即使在最好的情况下,鼠标事件也可能有点小故障。好消息是,根据你具体需要做什么,通常有一个解决方案。

如果你的目标是处理单和双击,这可能是有用的:同时单和双击功能

如果您正在寻找点击并按住的行为,您可能需要查看通过Input.GetAxis映射鼠标按钮。

最新更新