描述手指触摸屏幕状态的结构体。
设备可以跟踪有关触摸屏上触摸的许多不同数据,包括触摸生命周期中的phase
、其位置以及触摸是单个接触还是多次点击。此外,设备可以检测帧更新之间触摸的连续性,因此可以在跨帧报告一致的 ID 号,并用于确定特定手指的移动方式。
触摸生命周期描述了任何给定帧中触摸的状态
Touch 结构体用于 Unity 存储与单个触摸实例相关的数据,并由 Input.GetTouch 函数返回。每次帧更新都需要对 GetTouch 进行新的调用以从设备获取最新的触摸信息,但可以使用 fingerId 属性在帧之间识别相同的触摸。
注意:在 iOS 设备上,如果应用程序被最小化,则任何保存在内存中的 Touch 信息(例如,当您处于触摸生命周期的中途时)都将丢失。发生这种情况是因为 iOS 调用 ResetTouch() 并从内存中清除所有触摸数据。该触摸的生命周期在那里结束,任何依赖于触摸生命周期后续阶段的功能都不会执行。如果您遇到此问题,应将未执行的功能移动到 MonoBehaviour.OnApplicationFocus 或 MonoBehaviour.OnApplicationPause 中。
其他资源:Input.GetTouch、TouchPhase 枚举。
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 | 一个值,指示触摸是直接、间接(或远程)还是触笔类型。 |