DOTweenで一定時間待機する処理まとめ

解説

DOTweenでは値を補間したりアニメーションさせたりするだけではなく、一定時間待機する(一定時間後に処理を行う)こともできます。

 

いくつか場合に応じた方法があるので、それぞれご紹介します。

 

SetDelay

まずひとつ目がSetDelay()メソッド。

TweenerやSequenceにつけることで、そのTween処理全体を指定秒数遅らせることができます。

 

// 3秒後にx=1まで2秒かけて移動する
transform.DOMoveX(1, 2).SetDelay(3);

// 3秒後にx=1まで2秒かけて移動し、y=1まで2秒かけて移動する
DOTween.Sequence()
     .Append(transform.DOMoveX(1, 2))
     .Append(transform.DOMoveY(1, 2))
     .SetDelay(3);

 

AppendInterval

次に、AppendInterval()メソッド。

これはSequence内でそれ以降の処理を指定秒数遅らせることができるメソッドです。

 

// x=1まで2秒かけて移動し、3秒待ってからy=1まで2秒かけて移動する
DOTween.Sequence()
      .Append(transform.DOMoveX(1, 2))
      .AppendInterval(3)
      .Append(transform.DOMoveY(1, 2));

 

DOVirtual.DelayedCall

最後にDOVirtual.DelayedCall()メソッド。

これはシンプルに指定時間後に処理を実行するものです。

普通ならInvokeメソッドやコルーチン、UniTaskやUniRxを使うことが多いかと思いますが、実はDOTweenでもできます。

 

// 3秒後に"hoge"がログ出力される
DOVirtual.DelayedCall(3, () => Debug.Log("hoge"));

コメント

タイトルとURLをコピーしました