timeScale()과, 현재 진행 상황을 거꾸로 되감는 reverse() 기능은 인터랙티브한 UI를 구성할 때 코드를 획기적으로 줄여주는 GSAP 타임라인만의 핵심 무기입니다.
[그림 1] 마스터 타임라인을 통해 하위 시퀀스를 일괄 제어하는 개념
타임라인 객체 하나만 조작하면 내부의 모든 애니메이션이 함께 영향을 받습니다.
| 메서드 | 설명 및 동작 방식 |
|---|---|
tl.timeScale(multiplier) |
타임라인의 재생 속도를 배수로 조절합니다. 1은 정상, 2는 두 배 빠름, 0.5는 절반 속도(슬로우 모션)입니다. |
tl.reverse() |
현재 시점에서부터 애니메이션을 거꾸로 역재생합니다. 모달 창이나 메뉴를 닫을 때 닫기 애니메이션을 따로 만들 필요 없이 유용합니다. |
tl.progress(value) |
애니메이션의 진행도를 0(시작)에서 1(끝) 사이의 값으로 강제 세팅합니다. |
메서드를 체이닝하여 tl.timeScale(2).play() 처럼 작성하면 코드가 매우 간결해집니다. 역재생을 할 때는 역재생 속도도 timeScale의 영향을 받으므로, 정상 속도로 되감고 싶다면 항상 tl.timeScale(1).reverse()를 습관화하는 것이 좋습니다.