본문으로 건너뛰기

Screen:multiSwipe()

최대 10개의 손가락으로 화면을 동시에 스와이프합니다. 각 손가락은 자체 매개변수에 따라 독립적인 타임라인에서 작동하며, 누르고, 이동하고, 유지하고, 떼는 동작을 수행합니다.

시그니처

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

반환값

void


호환 버전: 1.0.0.26 이상

매개변수

매개변수타입설명
fingersList<List<SwipePoint>>손가락 경로 목록입니다. 각 손가락 경로는 SwipePoint 값의 목록입니다. 손가락당 최소 2개 지점, 최대 10개 손가락.

multiSwipe에서 SwipePoint 동작

각 손가락 경로는 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초에 걸쳐 동시에 위로 스와이프합니다.

핀치 줌

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초를 초과할 수 없습니다.
  • 첫 번째 지점에서 swipeDuration0이면 1ms로 처리됩니다(사실상 즉시).