我目前正在Unity3D中开发游戏。游戏中的一个功能是同时按下LMB和RMB。
我的问题是我用我自己的鼠标测试了我的代码一个Trust / 15315并且它无法同时注册两个按钮,而只是单独注册了两个按钮。然后我用其他3个鼠标测试了相同的代码,它运行得很好。
我的问题是:我的鼠标因打破而无法正常工作吗?或者这是我的鼠标功能?是否有其他鼠标是这样做的(不能同时检测到两个鼠标按钮)?
如我所知,我添加了使用的代码:
using UnityEngine;
using System.Collections;
public class Gestures : MonoBehaviour {
void Update () {
print (Input.GetMouseButton(0)+" "+Input.GetMouseButton(2) + " "+ Input.GetMouseButton(1));
}
}
另外我想补充一点,左边和中间按钮一起工作,但右边不能与其他两个按钮一起使用。
答案 0 :(得分:1)
很难说Unity是否打算在不同的鼠标和操作系统上实现干净的单键按钮实现。
我遇到了类似的问题,发现从Input.GetMouseButtonDown和Input.GetMouseButtonUp事件中读取鼠标按钮状态更为可靠。
答案 1 :(得分:1)
然后我和其他3个老鼠一起测试了相同的代码,它运行得很好。
听起来它只是你的鼠标。追踪确切的问题很棘手,因为这个过程中有很多步骤。 (硬件 - >板载软件 - >无线 - >驱动程序 - >操作系统 - > Unity)在该过程中的任何一点上的邋actual实现理论上都可能导致您所描述的问题。
正如其他人所提到的,即使在最好的时候,鼠标事件也可能有点小问题。好消息是,根据您需要做什么,通常会有一个解决方法。
如果您的目标是处理单击与双击,这可能很有用:simultaneous single and double click functions
如果您正在寻找点击并按住某种行为,您可能希望通过Input.GetAxis查看鼠标按键的映射。