この記事でのバージョン
Unity 2022.2.8f1
DOTween Pro 1.0.335
はじめに
Unityで位置や大きさなどのアニメーション、
いわゆるTweenを実装するアセットとしてお馴染みのDOTweenでは、
https://assetstore.unity.com/packages/slug/32416?aid=1101lGoY |
OnCompleteを使うことでTweenの終了後に処理をする事が可能です。
Debug.Log($"移動開始"); //Tweenで移動、移動後にログ表示 transform.DOMove(new Vector3(1, 0, 0), 1).OnComplete(() => { Debug.Log($"移動終了"); });
ただ場合によってはasync/awaitで終了を待ちたいという場合もあります。
そんな時に使えるのがAsyncWaitForCompletionで、
名前の通りasync/awaitでTweenが終わるまで待つ事が出来ます。(KillやCompleteした時でも待機終了)
private async void Start() { Debug.Log($"移動開始"); //Tweenで移動して、終わるまで待つ await transform.DOMove(new Vector3(1, 0, 0), 1).AsyncWaitForCompletion(); Debug.Log($"移動終了"); }
ちなみにKillされるまで待つAsyncWaitForKillや、
指定回数ループするまで待つAsyncWaitForElapsedLoopsなどもあります。