Описание
Структура, описывающая состояние касания экрана пальцем.
Устройства могут отслеживать ряд различных данных о прикосновении к сенсорному экрану, в том числе его фазу phase
жизненного цикла касания, его позицию и то, было ли касание единичным касанием. или несколько нажатий. Кроме того, устройство может обнаруживать непрерывность прикосновения между обновлениями кадров, поэтому единый идентификационный номер может сообщаться между кадрами и использоваться для определения того, как движется конкретный палец.
Жизненный цикл касания описывает состояние касания в любом заданном кадре:
- Начало – в этом кадре пользователь коснулся экрана пальцем.
- Неподвижно: палец находится на экране, но пользователь не перемещал его в этом кадре.
- Перемещено: пользователь переместил палец в этом кадре.
- Завершено: в этом кадре пользователь убрал палец с экрана.
- Отменено: касание было прервано в этом кадре.
Структура 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 | Значение, указывающее, было ли касание прямым, косвенным (или удаленным) или стилусом. |