Chapter 13無料公開

🔰OnComplete - 完了通知を受け取る

DOTweenには 「トゥイーンが終了した時」 、 「トゥイーンが開始した時」 といった
イベントが受け取れるようにコールバック関数が定義されています。

コールバック 実行タイミング 呼ばれる回数
OnComplete トゥイーン完了時 0 or 1回
OnKill トゥイーン完了時 1回
OnPlay トゥイーン開始時 1回
OnPause 一時停止時 0回以上
OnRewind Restart時 0回以上
OnStart トゥイーン開始時 1回
OnStepComplete 繰り返し時 0回以上
OnUpdate 毎フレーム 0回以上
OnWaypointChange 行き先が変更した時 0回以上

たとえばOnUpdateはトゥイーン実行中、
毎フレーム指定したメソッドを呼び出すといったことも可能です。

頻出コールバックはOnComplete

経験的にもっとも業務で使うのはOnCompleteで、
トゥイーンが完了した時に一度だけ呼ばれます。

本チャプターで紹介するのはOnComplete時に
「Complete!!」 テキストを表示するというサンプルです。

OnComplete

// 「Complete!!」テキストのGameObject
[SerializeField] private GameObject _completeObject;

void Start()
{
    transform.DOLocalMove(new Vector3(10f, 0, 0), 1f)
        .OnComplete(MyCompleteFunction);
}
// 「Complete!!」テキストを表示するメソッド
private void MyCompleteFunction()
{
    _completeObject.SetActive(true);
}

OnCompleteメソッドでトゥイーン完了時に呼びたい関数をセットします。

今回のサンプルの場合はMyCompleteFunctionを指定します。

使い方によっては必ずしもトゥイーン完了時に
OnCompleteは呼ばれない場合がるため注意です。

📖 関連チャプター

OnCompleteにはラムダ式も使えます

transform.DOLocalMove(new Vector3(10f, 0, 0), 1f)
        .OnComplete(() => _completeObject.SetActive(true));

👆サンプル内のMyCompleteFunctionは
ラムダ式を使って書き換えることも可能です。


各種コールバックを学んだことで表現が広がったのではないでしょうか?
さて次のチャプターでは再生中のトゥイーンの即完了・即中断といった若干例外的な内容を学びます。

ゲーム開発ではよく使うため、覚えておくことをオススメします。