Проблема с Touch и слайдом в Unity3D - PullRequest
0 голосов
/ 29 сентября 2018

У меня есть игра, в которой вы скользите по чему-то, а когда найдете специальную.Вместо скольжения вам нужно просто нажать на него.Для этого я создал следующий код, но он не работает так, как я хотел:

void Update()
 {
     if (Input.touchCount > 0)
     {
         // get the first one
         Touch firstTouch = Input.GetTouch(0);

         // if it began this frame
         if (firstTouch.phase == TouchPhase.Began)
         {
             if (firstTouch.position.x > screenCenter)
             {
                 Anim.SetBool("Swiper", true);
                 print("Swipe");
             }
         }
         else if (firstTouch.phase == TouchPhase.Stationary)
         {
             if (E.FInt == 1)
             {
                 //Sound
                 print("Debugged");
                 SceneManager.LoadScene(Beh.SceneArray[Beh.Counter]);
             }
         }
     }
 }

Проблема в том, что он выполняет код, когда вы скользите, даже если вы просто нажмете.

1 Ответ

0 голосов
/ 04 ноября 2018

Давайте посмотрим на этот раздел:

     // if it began this frame
     if (firstTouch.phase == TouchPhase.Began)
     {
         if (firstTouch.position.x > screenCenter)
         {
             Anim.SetBool("Swiper", true);
             print("Swipe");
         }
     }

Если фаза касания равна Began, а касание находится на правой стороне экрана, тогда ЯВНО это удар.

Нет, нет, нет.Это прикосновение, которое только начинается.У него еще не было возможности быть украденным.

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