Screen:multiSwipe()
Выполняет свайп по экрану одновременно до 10 пальцами. Каждый палец работает по собственной независимой временной шкале — опускается, перемещается, удерживается и поднимается согласно своим параметрам.
Сигнатура
Screen:multiSwipe(fingers: List<List<SwipePoint>>): void
Возвращаемое значение
void
Совместимая версия: 1.0.0.26 и выше
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| fingers | List<List<SwipePoint>> | Список траекторий пальцев. Каждая траектория — это список значений SwipePoint. Минимум 2 точки на палец. Максимум 10 пальцев. |
Поведение SwipePoint в multiSwipe
Каждая траектория пальца представляет собой список SwipePoint(x, y, holdDuration, swipeDuration). Значение каждого параметра зависит от позиции точки в списке:
Первая точка (начальная позиция):
swipeDuration— Начальная задержка в миллисекундах перед опусканием пальцаholdDuration— Как долго удерживать в начальной позиции перед перемещением
Последующие точки (цели перемещения):
swipeDuration— Время в миллисекундах на перемещение от предыдущей точки к этой точкеholdDuration— Как долго удерживать в этой точке после прибытия
Последняя точка:
holdDuration— Завершающее удержание в финальной позиции перед поднятием пальца
к сведению
Все пальцы поднимаются одновременно после завершения действий самого долгого пальца.
Примеры
Свайп вверх двумя пальцами
Screen:multiSwipe({
{
SwipePoint(500, 800, 50, 0),
SwipePoint(500, 400, 50, 1000),
},
{
SwipePoint(600, 800, 50, 0),
SwipePoint(600, 400, 50, 1000),
},
})
Оба пальца выполняют свайп вверх одновременно за 1 секунду.
Сведение для масштабирования (pinch to zoom)
Screen:multiSwipe({
{
SwipePoint(400, 600, 50, 0),
SwipePoint(200, 400, 50, 1500),
},
{
SwipePoint(600, 600, 50, 0),
SwipePoint(800, 800, 50, 1500),
},
})
Два пальца расходятся от центра за 1,5 секунды.
Стаггертированный старт с удержанием
Screen:multiSwipe({
{
SwipePoint(935, 1533, 50, 2000),
SwipePoint(658, 1234, 5000, 2000),
SwipePoint(207, 1372, 50, 2000),
},
{
SwipePoint(794, 1714, 50, 3000),
SwipePoint(240, 1489, 50, 2000),
SwipePoint(694, 1170, 50, 2000),
},
})
Временная шкала:
| Время | Палец 1 | Палец 2 |
|---|---|---|
| 0ms | Ожидание (2000ms) | Ожидание (3000ms) |
| 2000ms | Нажатие в (935, 1533) | Ожидание... |
| 2050ms | Перемещение к (658, 1234) | Ожидание... |
| 3000ms | Перемещение... | Нажатие в (794, 1714) |
| 3050ms | Перемещение... | Перемещение к (240, 1489) |
| 4050ms | Прибытие, удержание 5000ms | Перемещение... |
| 5050ms | Удержание... | Прибытие, удержание 50ms |
| 5100ms | Удержание... | Перемещение к (694, 1170) |
| 7100ms | Удержание... | Прибытие, удержание 50ms |
| 9050ms | Перемещение к (207, 1372) | Ожидание... |
| 11050ms | Прибытие, удержание 50ms | Ожидание... |
| 11100ms | Все пальцы поднимаются одновременно |
Ограничения
- Максимум 10 пальцев
- Каждый палец должен иметь не менее 2 значений SwipePoint
- Общая длительность жеста не должна превышать примерно 60 секунд
swipeDuration, равный0, для первой точки приравнивается к1ms(фактически мгновенно)