Данный урок был разбит на три части и мы уже рассмотрели азы в первом уроке и применили часть знаний во втором уроке.
В этом уроке будет рассмотрен способ отслеживания касания сразу нескольких пальцев к экрану устройства. В этом примере будет рассмотрен более детально класс Touch (хотя в документации сказано, что это структура, а не класс, но ладно).
1. Переименуем объект DPadTester на MultiTouch (Это можно сделать клавишей
2. Как и в предыдущем уроке, удалим компонент Virtual D Pad:
3. Вместо него создадим новый скрипт MultiTouchDisplay.cs:
using UnityEngine;
using UnityEngine.UI;
public class MultiTouchDisplay : MonoBehaviour
{
public Text multiTouchInfoDisplay;
private int maxTapCount = 0;
private string multiTouchInfo;
private Touch theTouch;
// Update is called once per frame
void Update()
{
multiTouchInfo = string.Format("Max tap count: {0}\n", maxTapCount);
if (Input.touchCount > 0)
{
for (int i = 0; i < Input.touchCount; i++)
{
theTouch = Input.GetTouch(i);
multiTouchInfo += string.Format("Touch {0} - Position {1} - Tap Count: {2} - Finger ID: {3}\nRadius: {4} ({5}%)\n",
i, theTouch.position, theTouch.tapCount, theTouch.fingerId, theTouch.radius,
((theTouch.radius / (theTouch.radius + theTouch.radiusVariance)) * 100f).ToString("F1"));
if (theTouch.tapCount > maxTapCount)
{
maxTapCount = theTouch.tapCount;
}
}
}
multiTouchInfoDisplay.text = multiTouchInfo;
}
}
4. Перетащим InfoDisplayText в соответствующее поле нашего скрипта:
5. При сборке проекта ( ) не забудьте указать текущую сцену для компиляции, после чего нажмите :
В результате, после запуска можно увидеть статус по всем пяти пальцам (индексация начинается с 0, поэтому пятый палец под ID 4):
- C#: Сравнить два массива - 12.12.2024
- EVE-Online: Фильтры каналов - 23.11.2024
- Не приходит СМС для авторизации на сайте Госуслуги - 01.11.2024