Я разрабатываю игру с мультитач-контроллерами. Но у меня проблемы с UI Image multi touchingUI Multitouch Architecture?
Я хочу создать эту архитектуру.
Зеленые циклы будут работать как кнопки. (Touch End)
Red Cycle будет работать как кнопка. Мне нужно сенсорное перемещение или прикосновение к событиям остановки для серийного выстрела. (Touch Move | Touch Stay)
Желтая коробка будет работать как тачпад (элемент изображения UI). Когда палец перемещается над полем, он вызывает метод Rotate.
Я пробовал некоторые методы, но все не удалось.
Я создал класс с именем MultiTouchElement.
var touches = Input.touches;
for (int i = 0; i < touches.Count; i++)
{
Touch touch = Input.GetTouch(i);
TouchPhase phase = touch.phase;
PointerEventData eventDataCurrentPosition = new PointerEventData(EventSystem.current);
eventDataCurrentPosition.position = touch.position;
List<RaycastResult> results = new List<RaycastResult>();
EventSystem.current.RaycastAll(eventDataCurrentPosition, results);
var touchOnThisObject = results.Any(x => x.gameObject.name.ToLower() == this.gameObject.name.ToLower());
if (!touchOnThisObject)
return;
if (phase == TouchPhase.Began)
{
this.GetComponent<Image>().color = Color.red;
}
if (phase == TouchPhase.Ended)
{
this.GetComponent<Image>().color = Color.blue;
}
}
Есть ли у меня учебник для моей архитектуры?