它包含了两个构造函数:GesturePath
和 MultiFingerGesture
,以及一个用于模拟分发多手指手势的函数 dispatchMultiFingerGesture
。
- GesturePath 构造函数: 这个构造函数用于创建一个单个手指的手势路径对象。每个手势路径对象包含两个属性:
points
和 duration
。points
是一个数组,用来存储手指移动过程中的各个点的坐标(x, y)。duration
用来表示手指从开始移动到结束移动的持续时间(单位为毫秒)。 - setDurTime 方法: 这个方法用于设置手势路径的持续时间。它接受一个参数
duration
,并将这个参数赋值给 GesturePath
对象的 duration
属性。 - addPoint 方法: 这个方法用于向手势路径中添加点。它接受两个参数
x
和 y
,表示点的坐标,并将这个点的对象({ x: x, y: y })添加到 GesturePath
对象的 points
数组中。 - MultiFingerGesture 构造函数: 这个构造函数用于创建一个多手指手势对象。每个多手指手势对象包含一个属性:
fingers
,它是一个数组,用来存储多个 GesturePath
对象,每个对象表示一个手指的移动轨迹。 - addFinger 方法: 这个方法用于向多手指手势中添加手指轨迹。它接受一个参数
gesturePath
,即一个 GesturePath
对象,并将这个对象添加到 MultiFingerGesture
对象的 fingers
数组中。 - dispatchMultiFingerGesture 函数: 这个函数用于模拟分发多手指手势。它接受一个参数
multiFingerGesture
,即一个 MultiFingerGesture
对象。首先,它检查这个对象是否为空或者手指轨迹数组是否为空,如果为空则返回 false
。如果不为空,它会遍历多手指手势中的每个手指轨迹,输出手指编号、持续时间和每个点的坐标。 - 代码实例部分: 首先,代码创建了三个
GesturePath
对象,分别代表三个手指的移动轨迹,并为每个对象设置了持续时间和添加了一些点。然后,代码创建了一个 MultiFingerGesture
对象,并将这三个手指轨迹添加到其中。最后,代码调用了 dispatchMultiFingerGesture
函数,以模拟分发这个多手指手势,并在控制台输出相关信息