2024.03.14 - [Unity/Study] - 유니티 DOTween Documentation 공부하기 #1편
이전 글을 보고 와주세요.
Tweener and Sequence settings
다음 설정들은 모든 유형의 트윈에 연결할 수 있습니다.
Chained settings
- SetAs(Tween tween , TweenParams tweenParams)
- SetAutoKill(bool autoKillOnCompletion = true)
- SetEase(Ease easeType , AnimationCurve animCurve , EaseFunction customEase)
- SetId(object id)
- SetInverted()
- SetLink(GameObject target, LinkBehaviour linkBehaviour = LinkBehaviour.KillOnDestroy)
- SetLoops(int loops, LoopType loopType = LoopType.Restart)
- SetRecyclable(bool recyclable)
- SetRelative(bool isRelative = true)
- SetTarget(object target)
- SetUpdate(UpdateType updateType, bool isIndependentUpdate = false)
예시는 아래와 같습니다.
transform.DOMoveX(4, 1).SetEase(Ease.InOutQuint);
transform.DOMoveX(4, 1).SetEase(myAnimationCurve);
transform.DOMoveX(4, 1).SetEase(MyEaseFunction);
Chained callbacks
- OnComplete(TweenCallback callback)
- OnKill(TweenCallback callback)
- OnPlay(TweenCallback callback)
- OnPause(TweenCallback callback)
- OnRewind(TweenCallback callback)
- OnStart(TweenCallback callback)
- OnStepComplete(TweenCallback callback)
- OnUpdate(TweenCallback callback)
예시는 아래와 같습니다.
transform.DOMoveX(4, 1).OnComplete(MyCallback);
Controlling a tween
트윈을 조작하는 방법에 3가지가 있습니다.
Via static methods and filters
DOTween 클래스에는 트윈을 제어할 수 있는 많은 정적 메서드가 포함되어 있습니다.
예시는 아래와 같습니다.
// Pauses all tweens
DOTween.PauseAll();
// Pauses all tweens that have "badoom" as an id
DOTween.Pause("badoom");
// Pauses all tweens that have someTransform as a target
DOTween.Pause(someTransform);
Directly from the tween
트윈에서 직접 정적 메서드를 사용하는 대신 트윈의 참조에서 같은 메서드를 호출할 수 있습니다.
예시는 아래와 같습니다.
myTween.Pause();
From a shortcut-enhanced reference
일반 객체 메서드와 구별하기 위한 추가적인 DO 접두사가 있습니다.
트윈이 끝난 후에 이러한 메서드를 사용하려면 autoKill 동작을 비활성화해야 합니다. 그렇지 않으면 트윈은 완료 시 자동으로 종료됩니다.
예시는 아래와 같습니다.
transform.DOPause();
WaitFor coroutines/Tasks
DOTween은 코루틴과 태스크와 함께 사용할 수도 있습니다.
아래는 예시입니다.
IEnumerator SomeCoroutine()
{
Tween myTween = transform.DOMoveX(45, 1);
yield return myTween.WaitForCompletion();
//This log will happen after the tween has completed
}