Touch
структура в UnityEngine
Выполнено в:UnityEngine.InputLegacyModule
Описание
Структура, описывающая состояние пальца, касающегося экрана.
Устройства могут отслеживать ряд различных данных о прикосновении к сенсорному экрану, включая phase жизненного цикла касания, его местоположение и то, было ли прикосновение одиночным контактом или несколькими нажатиями. Кроме того, устройство может обнаруживать непрерывность прикосновения между обновлениями кадров, поэтому последовательное число ID может быть отражено в отчетах по кадрам и использоваться для определения движения конкретного пальца.
Жизненный цикл касания описывает состояние касания в каждом конкретном кадре:
- Начато — Пользователь прикоснулся пальцем к экрану этого кадра
- Стационарный — палец находится на экране, но пользователь не передвигал его в этом кадре
- Перемещен — Пользователь переместил свой палец в этом кадре
- Завершено — пользователь поднял палец с экрана в этом кадре
- Отменено — касание было прервано в этом кадре
Структура Touch используется Unity для хранения данных об одном касании и возвращается из Input.GetTouch функция. Новые вызовы GetTouch будут необходимы на каждом обновлении кадра, чтобы получить последнюю информацию касания от устройства, но fingerId свойство может быть использовано для определения того же касания между кадрами.
Примечание: На устройствах iOS любая информация касания, хранящаяся в памяти (например, когда вы находитесь в середине жизненного цикла касания), будет потеряна, если приложение будет минимизировано. Это происходит потому, что iOS вызывает ResetTouch() и стирает все данные касания из памяти. Жизненный цикл этого касания заканчивается здесь, и любая функция, которая зависит от более поздних фаз жизненного цикла касания, не выполняется. Если вы сталкиваетесь с этой проблемой, вам следует переместить функцию, которая не выполняется, в MonoBehaviour.OnApplicationFocus или MonoBehaviour.OnApplicationPause.
Дополнительные ресурсы: Input.GetTouch, TouchPhase enum.
Свойства
| Свойство | Описание |
|---|---|
| altitudeAngle | Значение 0 радианов указывает на то, что штифт параллелен поверхности, pi/2 указывает на то, что он перпендикулярен. |
| azimuthAngle | Значение 0 радианов указывает на то, что стилус обращен вдоль оси x устройства. |
| deltaPosition | Дельта позиции с момента последнего изменения координат пикселей. |
| deltaTime | Время, прошедшее с момента последнего зарегистрированного изменения значений Touch. |
| fingerId | Уникальный индекс для касания. |
| maximumPossiblePressure | Максимальное возможное значение давления для платформы. Если Input.touchPressureSupported возвращает false, значение этого свойства всегда будет 1.0f. |
| phase | Описывает фазу касания. |
| position | Положение касания в координатах пикселей экранного пространства. |
| pressure | Текущее значение давления, которое применяется к касанию. 1.0f считается давлением среднего касания. Если Input.touchPressureSupported возвращает false, значение этого свойства всегда будет равняться 1.0f. |
| radius | Оценочное значение радиуса касания. Добавьте radiusVariance, чтобы получить максимальный размер касания, вычтите его, чтобы получить минимальный размер касания. |
| radiusVariance | Это значение определяет точность радиуса касания. Добавьте это значение к радиусу, чтобы получить максимальный размер касания, вычтите его, чтобы получить минимальный размер касания. |
| rawPosition | Первое положение сенсорного контакта в координатах пикселей экранного пространства. |
| tapCount | Число кранов. |
| type | Значение, указывающее, было ли прикосновение прямым, косвенным (или удаленным) или типом стилуса. |