メインコンテンツまでスキップ

Screen:multiSwipe()

最大 10 本の指で画面を同時にスワイプします。各指は独立したタイムラインで動作し、それぞれのパラメータに従ってタッチダウン、移動、ホールド、リフトを行います。

シグネチャ

Screen:multiSwipe(fingers: List<List<SwipePoint>>): void

戻り値

void


対応バージョン: 1.0.0.26 以上

パラメータ

パラメータ説明
fingersList<List<SwipePoint>>指のパスのリスト。各指のパスは SwipePoint 値のリストです。1 本の指につき最低 2 ポイント必要です。最大 10 本の指。

multiSwipe における SwipePoint の挙動

各指のパスは SwipePoint(x, y, holdDuration, swipeDuration) のリストです。各パラメータの意味は、リスト内のポイントの位置によって異なります。

最初のポイント(開始位置):

  • swipeDuration — 指がタッチダウンするまでの初期遅延(ミリ秒)
  • holdDuration — 移動前に開始位置でホールドする時間

以降のポイント(移動先):

  • swipeDuration — 前のポイントからこのポイントまで移動する時間(ミリ秒)
  • holdDuration — 到着後にこのポイントでホールドする時間

最後のポイント:

  • holdDuration — 指がリフトする前に最終位置でホールドする時間
備考

すべての指は、最も動作の長い指の一連の動作が完了した後に、同時にリフトされます。

2 本指での上スワイプ

Screen:multiSwipe({
{
SwipePoint(500, 800, 50, 0),
SwipePoint(500, 400, 50, 1000),
},
{
SwipePoint(600, 800, 50, 0),
SwipePoint(600, 400, 50, 1000),
},
})

両方の指が 1 秒かけて同時に上へスワイプします。

ピンチズーム

Screen:multiSwipe({
{
SwipePoint(400, 600, 50, 0),
SwipePoint(200, 400, 50, 1500),
},
{
SwipePoint(600, 600, 50, 0),
SwipePoint(800, 800, 50, 1500),
},
})

2 本の指が中心から離れる方向へ 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 秒 を超えてはなりません
  • 最初のポイントで swipeDuration0 の場合は 1ms として扱われます(実質的に瞬時)