2016-01-19 7 views
2

Я создал сценарий и привязал его к основной камере, и мультитач не обнаруживается нигде на игровой сцене. Обновления журналов консоли обновляются в каждом фрейме, но входные контакты не регистрируются нигде. В операторе if выполняется только один оператор печати. Любая помощь будет оценена по достоинству.Multi-Touch не обнаружен ни в одном игровом объекте

void Update() { 
     print("update"); 
     if (Input.touchCount > 0){ 
      print("touch detected"); 
      print(Input.touchCount); 
      print(Input.touchCount.toString()); 
    } 

} 

ответ

0

Если вам нужно получить только одно касание, используйте Input.GetMouseButtonDown. Это будет работать на всех платформах. Редактор или устройство.

Вы можете использовать его как,

void Update() 
{ 
    if (Input.GetMouseButtonDown(0)) 
    { 
     Debug.Log("Screen touch detected"); 
    } 

    if (Input.GetMouseButton(0)) 
    { 
     Debug.Log("Screen touch and drag detected"); 
    } 

    if (Input.GetMouseButtonUp(0)) 
    { 
     Debug.Log("Screen touch lifted up"); 
    } 
} 
+0

Это только щелчок мыши, а не касание. – joreldraw

+1

Странно, люди с меньшими знаниями обладают такой уверенностью. За вашу любезную информацию. @joreldraw работает как прикосновение. –

+0

Не для мультитач ... меньше знаний. – joreldraw

3

Существует не только «потрогать» слово в осязаемых устройствах. Существует несколько типов сенсорных действий, таких как однократное нажатие, мультитач, салфетки, пинч и т. Д.

Сначала пожалуйста, удалите функцию печати в обновлении, это ненужное и глупое действие.

Для одного касания (как указано Hamza) вы можете использовать Input.GetMouseButton или Input.GetTouch.

Если вы хотите вычислить количество мультитач, ваше использование верно. Попробуйте прикрепить сценарий к другому игровому объекту в сцене. См. Пример this для получения дополнительной информации на официальной странице Unity.