Единство, как обрабатывать событие onTouch? - PullRequest
0 голосов
/ 31 мая 2019

Я добавляю объект UI Button и добавляю скрипт C # с публичной функцией. К кнопке я добавляю компонент Event Trigger, делаю события (Pointer Click и Pointer Down) и перенаправляю на мою функцию public void onClick ()

На ПК код работает, но когда я загружаю игру на андроид и касаюсь объекта, код не работает.

Как сделать событие onTouch?

Ответы [ 2 ]

0 голосов
/ 02 июня 2019

Я думаю, что OnMouseDown будет проверять каждый кадр, если есть ввод с помощью мыши, это как обновление, поэтому вы должны щекотать касание в обновлении, и с касанием у вас будет больше возможностей, таких как Фаза касания, чтобы определить, начинается ли касание, поднимается или перемещается и т. Д. .. вам нужно проверить

 if(input.touchCount > 0)

void Update() {
     if (Input.touchCount > 0){
         print("exist a touch");

             if(Input.GetTouch(0).phase == TouchPhase.Began){
                 print("Touch begans");
             }
             if(Input.GetTouch(0).phase == TouchPhase.Ended){
                 print("Touch Ended");
             }
      }
    }

chCount > 0)& inside this you can cheek for touch Phase
0 голосов
/ 31 мая 2019

Касания не клики

Чтобы обработать сенсорный ввод, необходимо проверить Input.touchCount, а затем запросить каждое касание с помощью Input.GetTouch. Обратите внимание, что у каждого Touch есть идентификатор , который будет уникальным для каждого пальца и одинаковым для всех кадров.

Не существует простых OnClick подобных методов касаний, поскольку касания могут быть намного более сложными (касание, длительное касание, перетаскивание и т. Д.), Поэтому вам придется проверять внутри Update() и обрабатывать преобразование с помощью касания. Данные для аналогов мыши самостоятельно.

...