Unity2D Input.touches управление для перетаскивания 2 строки одновременно - PullRequest
1 голос
/ 19 апреля 2019

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

Я попытался сделать 1 скрипт для 2 GameObject сРендерер в 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 && (TouchHalfRightScreen && 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 && (!TouchHalfRightScreen && !IsRightDraggingZone))
                {
                    if (Input.touchCount == 1 && 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

enter image description here

...