Как вызвать Input.GetButtonDown с другим кодом? - PullRequest
0 голосов
/ 25 июня 2018

У меня есть программа распознавания жестов.Я хочу выполнить щелчок, вызвав Input.GetButtonDown ("Fire1"), когда пользователь машет рукой.Прямо сейчас у меня есть:

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

Журнал "Пользователь помахал" показывает нормально, но щелчок не выполняется.Если кто-нибудь может помочь мне с этим или предложить альтернативу, я был бы признателен.

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Метод Input.GetButtonDown проверяет, нажата ли кнопка.Кажется, вы предполагали, что это говорит программе действовать, как будто нажата кнопка, а это не так.

Я думаю, что более фундаментальным аспектом является то, почему вы пытаетесь эмулировать клик?Конечно, было бы проще получить информацию о положении жеста и действовать соответственно?

0 голосов
/ 25 июня 2018

Проблема в том, что

Input.GetButtonDown ("Fire1");

- это метод bool, а не событие.Поэтому, чтобы исправить это, я предлагаю вам попробовать это решение:

  1. Скачать zip-файл на: http://inputsimulator.codeplex.com
  2. Распаковать его в каталог Assets с помощью вашего скрипта (C #) в проекте Unity
  3. Перезагрузка MonoDevelop (если openend)
  4. В скрипте сверху напишите: используя WindowsInput;
  5. и ... в классе Вы можете использовать это, например,: InputSimulator.SimulateKeyPress (VirtualKeyCode.RIGHT);// симулировать нажатие стрелки вправо

Удачи, надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...