如何用另一个代码调用Input.GetButtonDown?

时间:2018-06-25 03:29:10

标签: c# unity3d scripting

我有一个手势识别软件。我想通过在用户挥手时调用Input.GetButtonDown(“ Fire1”)来执行单击。现在我有:

    public void Wave(){
    if(waving code){
    Debug.Log("user waved");
    Input.GetButtonDown("Fire1");
    }
   }

“用户挥手”日志显示得很好,但是未执行单击。如果有人可以帮助我或者提出其他建议,我将不胜感激。

2 个答案:

答案 0 :(得分:1)

这里的问题是

  

Input.GetButtonDown(“ Fire1”);

是布尔方法不是事件。因此,为了解决此问题,建议您尝试以下解决方案:

  
      
  1. 在以下位置下载zip文件:http://inputsimulator.codeplex.com
  2.   
  3. 在Unity项目中使用您的脚本(C#)将其解压缩到Assets目录
  4.   
  5. 重新加载MonoDevelop(如果是openend)
  6.   
  7. 在最上面的脚本中写:使用WindowsInput;
  8.   您可以在类中使用
  9. 和...例如:InputSimulator.SimulateKeyPress(VirtualKeyCode.RIGHT); //模拟向右箭头按下
  10.   

祝您好运,希望对您有帮助。

答案 1 :(得分:1)

Input.GetButtonDown方法检查按钮是否按下。看来您已经假设它告诉程序执行操作就像按下了按钮一样,事实并非如此。

我认为更基本的方面是为什么您要模拟点击?当然,获取手势的位置信息并采取相应措施会更简单吗?