Ввод Unity2D.управление касаниями для одновременного перетаскивания 2 строк

#c# #unity3d #input #touch

#c# #unity3d #ввод #прикосновение

Вопрос:

Я создаю многопользовательскую игру со стрелками на устройстве Android, в которой вы стреляете в зависимости от линии, которую вы рисуете. Но мне нужно 2 строки на одном экране, и я не знаю, как правильно это реализовать. ПРОБЛЕМА в том, что массив касаний является статическим и общим для 2 экземпляров, поэтому изменяется массив индексов и значение касания, которым я хочу управлять, тоже изменяется.

Я попытался сделать 1 скрипт для 2 игровых объектов с 1 средством визуализации строк

   for (int i = 0; i < Input.touchCount; i  )
            {
                if (Input.GetTouch(i).phase == TouchPhase.Began)
                {
                    if (touchIndex == -1)
                        touchIndex = Input.GetTouch(i).fingerId;

                    startPointLine = Camera.main.ScreenToWorldPoint(Input.GetTouch(touchIndex).position);

                }
//this if for the RIGHT half screen management
                if (Input.GetTouch(i).phase == TouchPhase.Moved amp;amp; (TouchHalfRightScreen amp;amp; IsRightDraggingZone))
                {

                    endPointLine = Camera.main.ScreenToWorldPoint(Input.GetTouch(touchIndex).position); 
                    Dragging();
                }
//this if for the LEFT half screen management
                if (Input.GetTouch(i).phase == TouchPhase.Moved amp;amp; (!TouchHalfRightScreen amp;amp; !IsRightDraggingZone))
                {
                    if (Input.touchCount == 1 amp;amp; touchIndex == 1)
                        touchIndex--;
                    endPointLine = Camera.main.ScreenToWorldPoint(Input.GetTouch(touchIndex).position); 
                    Dragging();
                }
                if (Input.GetTouch(i).phase == TouchPhase.Ended)
                {
                    //reset touchIndex
                    touchIndex = -1;
                    ClearLine();
                }
            }
 

Я ожидаю, что касание, которое я сохраняю в indexTouch, — это то, что я управляю, но в игре я делаю линию перетаскивания в одной из обеих сторон экрана, затем я добавляю линию перетаскивания на другой стороне, и что происходит? Первая строка, которую я нарисовал, заморожена, но последняя перемещается.

Чтобы немного прояснить, это линия перетаскивания, которую я хочу рисовать одновременно. https://img2.androidappsapk.co/poster/9/d/7/com.stickmanarcher.stickmanfightinggames.archerygames.stickman_5.png

введите описание изображения здесь

Комментарии:

1. Можете ли вы добавить gif или видео?

2. Конечно, drive.google.com/open?id=1YP8vQ6S13_NNN_OK1yfpkTL2yybUzcZ —