2015-09-03 2 views
0

Как вы добавляете вход Multi-Tap (не multi-touch!) В игру Unity3D? Мне сложно найти полезную информацию об этом.Unity3D: добавление ввода Multi-Tap

То, что я получил до сих пор, - поддержка ввода с несколькими касаниями. это то, что я использую для этого:

private Vector2 _touchOrigin = -Vector2.one; 

    public bool TouchEnded(int touchCount = 1) 
    { 
     if (Input.touchCount != touchCount) return false; 
     Touch lastTouch = Input.GetTouch(touchCount - 1); 
     if (lastTouch.phase == TouchPhase.Began) 
     { 
      _touchOrigin = lastTouch.position; 
     } 
     else if (lastTouch.phase == TouchPhase.Ended && _touchOrigin.x >= 0) 
     { 
      _touchOrigin.x = -1; 
      return true; 
     } 
     return false; 
    } 

Что бы я хотел сделать, это написать аналогичный метод, но для мульти-крана. То есть пользователь должен несколько раз нажать несколько пальцев (touchCount) несколько раз (tapCount). Это будет метод подписи:

public bool TapEnded(int touchCount = 1, int tapCount = 2) 
    { 
    } 

Может ли кто-нибудь мне помочь, как заставить это требование работать?

ответ

0

Вы можете использовать Input.Touches Возвращает список объектов, представляющих статус всех касаний во время последнего кадра. ссылка на ссылку http://docs.unity3d.com/ScriptReference/Input-touches.html

void Update() { 
    int fingerCount = 0; 
    foreach (Touch touch in Input.touches) { 
     if (touch.phase != TouchPhase.Ended && touch.phase != TouchPhase.Canceled) 
      fingerCount++; 

    } 
    if (fingerCount > 0) 
     print("User has " + fingerCount + " finger(s) touching the screen"); 

} 
+0

Но это касается только событий касания, а не событий события. Мне нужна двойная крана или многократное нажатие на определенной области прямоугольника (возможно, с помощью Touch.tapCount). Он также должен работать на Android. – BadmintonCat

Смежные вопросы