코드 및 공부/입력 관리

Dotween의 OnComplete()를 여러개 사용할때 작동하지 않는 문제

ekrxjvpvj0110 2025. 1. 2. 21:13

유니티 버전 - 2022.3.17f1

 

 

 

 

 

.OnComplete() 연속 사용시 작동하지않는 문제


메서드 체이닝으로 .OnComplete()를 두개 이상 사용할때 소위말하는 "씹히는" 현상이 일어나는 이유는, 여러 개의 콜백을 사용할 수 있지만, 연달아 사용한 .OnComplete()는 이전 것을 무시하고, 가장 마지막에 설정된 .OnComplete()만 실행됩니다

transform.DOMoveX(0, 2f)
    .OnComplete(() => Debug.Log("첫 번째")) // 실행 X
    .OnComplete(() => Debug.Log("두 번째"));

 

 

 

따라서 하나의 OnComplete 내부에서 모든 동작을 처리하거나, 메서드를 따로 만들거나, Sequence를 이용하여 처리해야합니다

var sequence = DOTween.Sequence();
sequence.Append(transform.DOMoveX(0, 2f))
        .AppendCallback(() => Debug.Log("첫 번째"))
        .AppendCallback(() => Debug.Log("두 번째"));