Проблема с Unity (Input.GetTouch(0).phase and Input.GetTouch (1).phase)

296
22 октября 2017, 19:09

Я чочу чтобы fan[0] и fan[1] вращалис независимы друг друга. rot[0] и rot[1] панелы на которых расположыны fan[0] и fan[1]. Когда rot [0] нажата fan [0] вращается.если после нажать rot [1] fan [1] тоже вращается. Но если нажать rot[1] первым программа не работает.

`if (Input.GetTouch (0).phase == TouchPhase.Ended) a = 0;

if (rot [0].clicked == true && Input.GetTouch(0).phase == TouchPhase.Moved && (a==0 || a==1)) {
   a = 1;
   Vector2 direction = Camera.main.ScreenToWorldPoint (Input.GetTouch(0).position) - fan [0].transform.position;
                     float angle = Mathf.Atan2 (direction.y, direction.x) * Mathf.Rad2Deg;
                     Quaternion rotation = Quaternion.AngleAxis (angle, Vector3.forward);
                     fan [0].transform.rotation = Quaternion.Slerp (fan [0].transform.rotation, rotation, speed * Time.deltaTime);
                 }
         if (rot.Length > 1 && rot [1].clicked == true && Input.GetTouch(1).phase == TouchPhase.Moved && a==1) {
             Vector2 direction1 = Camera.main.ScreenToWorldPoint (Input.GetTouch(1).position) - fan [1].transform.position;
             float angle1 = Mathf.Atan2 (direction1.y, direction1.x) * Mathf.Rad2Deg;
             Quaternion rotation1 = Quaternion.AngleAxis (angle1, Vector3.forward);
             fan [1].transform.rotation = Quaternion.Slerp (fan [1].transform.rotation, rotation1, speed * Time.deltaTime);
         }
         if (rot.Length > 1 && rot [1].clicked == true && Input.GetTouch(0).phase == TouchPhase.Moved && (a==0 || a==2)) {
             a = 2;
             Vector2 direction = Camera.main.ScreenToWorldPoint (Input.GetTouch(0).position) - fan [1].transform.position;
             float angle = Mathf.Atan2 (direction.y, direction.x) * Mathf.Rad2Deg;
             Quaternion rotation = Quaternion.AngleAxis (angle, Vector3.forward);
             fan [1].transform.rotation = Quaternion.Slerp (fan [1].transform.rotation, rotation, speed * Time.deltaTime);
         }
         if (rot [0].clicked == true && Input.GetTouch(1).phase == TouchPhase.Moved && a==2) {
             Vector2 direction1 = Camera.main.ScreenToWorldPoint (Input.GetTouch(1).position) - fan [0].transform.position;
             float angle1 = Mathf.Atan2 (direction1.y, direction1.x) * Mathf.Rad2Deg;
             Quaternion rotation1 = Quaternion.AngleAxis (angle1, Vector3.forward);
             fan [0].transform.rotation = Quaternion.Slerp (fan [0].transform.rotation, rotation1, speed * Time.deltaTime);
         }`
READ ALSO
Как разделить объекты на категории в массиве для передачи данных?

Как разделить объекты на категории в массиве для передачи данных?

Я бы хотел разделить обьекты по категориям например чтобы было так: [obj1: {

338
Вопрос в регулярных выражениях

Вопрос в регулярных выражениях

Есть строка 'HelloWorld'Необходимо найти количество слов

284
Как правильней использовать return c колбэком?

Как правильней использовать return c колбэком?

Как правильней всего использовать return с колбэк-функцей в javascript?

280
как поймать изменение input[nama=number]

как поймать изменение input[nama=number]

День добрый! Не могу понять, как отловить изменения в input[type=number], когда нажимаются стандартные стрелочки (google chrome)Изменения при вводе вручную...

224