我有一个手势识别软件。我想通过在用户挥手时调用Input.GetButtonDown(“ Fire1”)来执行单击。现在我有:
public void Wave(){
if(waving code){
Debug.Log("user waved");
Input.GetButtonDown("Fire1");
}
}
“用户挥手”日志显示得很好,但是未执行单击。如果有人可以帮助我或者提出其他建议,我将不胜感激。
答案 0 :(得分:1)
这里的问题是
Input.GetButtonDown(“ Fire1”);
是布尔方法不是事件。因此,为了解决此问题,建议您尝试以下解决方案:
- 在以下位置下载zip文件:http://inputsimulator.codeplex.com
- 在Unity项目中使用您的脚本(C#)将其解压缩到Assets目录
- 重新加载MonoDevelop(如果是openend)
- 在最上面的脚本中写:使用WindowsInput;
您可以在类中使用- 和...例如:InputSimulator.SimulateKeyPress(VirtualKeyCode.RIGHT); //模拟向右箭头按下
祝您好运,希望对您有帮助。
答案 1 :(得分:1)
Input.GetButtonDown方法检查按钮是否按下。看来您已经假设它告诉程序执行操作就像按下了按钮一样,事实并非如此。
我认为更基本的方面是为什么您要模拟点击?当然,获取手势的位置信息并采取相应措施会更简单吗?