이동(doMove)나 회전(doRotate) 등 모든 Do 시리즈 tween에 적용가능함
보통 오브젝트를 이동시키고 Tween 의 onComplete() 를 람다함수로 해서 다음 단계를 진행하곤 했는데,
tween.WaitForCompletion() 의 존재를 알고나니 코루틴과 결합하여 거의 모든 움직임을 손쉽게 구현할수 있게 되었다.
적을 이동시킨 후 공격을 하게한다고 하면,
IEnumerator MoveAndAttack(){
var tween = enemy.transform.DOMove(pos, 0.3f);
yield return tween.WaitForCompletion();
enemy.Attack();
}
public void ButtonClicked(){
StartCoroutine(MoveAndAttack());
}
이렇게 원하는 포지션(pos)로 이동 tween 완료시까지 대기(WaitForCompletion) 후, 원하는 작업을 처리하도록 하면
코드가 아주 깔끔해지고 람다함수를 쓰면서 겪는 호출순서나 scope 문제 등 복잡한 문제를 겪을 필요도 없다.
아주 아주 삶의 질을 높이는 두트윈 활용법! WaitForCompletion() 를 애용하도록 하자.
'프로그래밍 > 유니티 (unity)' 카테고리의 다른 글
[유니티] 버전 코드는 이미 사용되었습니다. 다른 버전 코드를 사용해 보세요. (1) | 2022.07.28 |
---|---|
유니티 심플 싱글톤(dontDestory 포함) (0) | 2022.07.16 |
using Cinemachine 안될때(에러날때) (2) | 2022.04.26 |
[유니티] 다수 GameObject 컴포넌트 설정 한번에 바꾸기 (0) | 2022.04.04 |
유니티) The character used for Underline is not available in font asset 해결법 (0) | 2022.03.03 |