Screen:multiSwipe()
최대 10개의 손가락으로 화면을 동시에 스와이프합니다. 각 손가락은 자체 매개변수에 따라 독립적인 타임라인에서 작동하며, 누르고, 이동하고, 유지하고, 떼는 동작을 수행합니다.
시그니처
Screen:multiSwipe(fingers: List<List<SwipePoint>>): void
반환값
void
호환 버전: 1.0.0.26 이상
매개변수
| 매개변수 | 타입 | 설명 |
|---|---|---|
| fingers | List<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초를 초과할 수 없습니다.
- 첫 번째 지점에서
swipeDuration이0이면1ms로 처리됩니다(사실상 즉시).