こんにちわ、DOTween大好きオオバです。

ゲーム開発で数フレーム待機して何かしたい
っていうときありますよね。

そんな時にわざわざコルーチンを定義したり、
async/awaitのメソッドを定義したりするのも大げさ。

DOTweenには 少し待ってなにかしたい機能
用意されています。

かんたんに書けるためオオバはよく使います。
そんなDOTweenのTipsを紹介していきます。

DOVirtualクラスが便利

DOTweenに用意されている遅延実行が便利_0

結論を簡単にまとめます。

DOVirtualを知ってますか?
DOTweenに実装されている機能です。

DOVirtual.DelayedCall (1f, ()=> Hoge());  

これだけで1秒後に Hoge() が呼ばれます。

少し待機したい時に便利なメソッドです。
これから詳細について解説していきます。

この記事の内容

ゲーム開発でよくある少し待ちたい案件

DOTweenに用意されている遅延実行が便利_1

ゲームの演出開発時によく発生する
少しだけ待機したい要望。

どう実装するか悩みどころです。

数秒後にHoge関数を実行する 遅延処理を実装する場合、
数パターンの方法が思い浮かびます。

いろいろ手段が浮かびます。

今回オススメしたいのは DOVirtual です。

便利な遅延処理DOVirtualクラス

DOTweenに用意されている遅延実行が便利_2

DOVirtualを見たことない人も多い のでは。
DOTweenの中でもレアキャラかもしれません。

DOVirtual.DelayedCall (1f, ()=> Hoge());  

先の遅延実行はたった一行で実装できます。
非常にわかりやすいソースコードです。

キャンセル、スキップも簡単

DOTweenに用意されている遅延実行が便利_3

コード量が少ないだけでなく、
DOTweenの機能を継承しているメリットがあります。

遅延実行するとき キャンセルとスキップが重要 です。
DOVirtualは通常のDOTweenと同じ。

💻ソースコード : DOVirtualのスキップサンプル
IEnumerator Start () {  
    // 10秒後に実行予定だが1秒後に実行する  
    var tw = DOVirtual.DelayedCall (10f,()=> Hoge());  
    yield return new WaitForSeconds (1f);  
    // 引数にtrueを入れるのをお忘れなく!  
    tw.Complete (true);  
}

Tweenインスタンスを変数に保持してスキップする場合は、
上記のようなソースコードで実行できます。

キャンセルする場合は、以下のいずれかメソッドでOKです。

💻ソースコード : DOVirtualのキャンセルサンプル
tw.Kill();  
// 引数はfalse or 無し  
tw.Complete();  

内部はSequnceで安心

DOTweenに用意されている遅延実行が便利_4

DOVirtualの実装の中身
確認しておきましょう。

public static Tween DelayedCall (float delay, TweenCallback callback, bool ignoreTimeScale = true)  
{
    return DOTween.Sequence ().AppendInterval (delay)  
        .OnStepComplete (callback)  
        .SetUpdate (UpdateType.Normal, ignoreTimeScale)  
        .SetAutoKill (true);  
}

内部的にはSequenceインスタンスに
AppendInterval を挟んでいるだけです。

動作的には安心して使えそうですね。

DelayedCallの第3引数はfalseを推奨

DOTweenに用意されている遅延実行が便利_5

DelayedCallメソッドの第3引数は
タイムスケールの依存フラグです。

通常のTweenのデフォルトはfalseなのです。
しかし、DelayedCallのデフォルトは true

つまりDelayedCallは、
デフォルトタイムスケールに依存しないTweenが作られるのです。

これを理解した上で使うのであれば大丈夫ですが、
何かおかしいなと思った時は
DelayedCallの第3引数
疑ってみると良いかも知れません。

より深くDOVirtualについて知りたい方は
弊著:DOTweenの教科書がオススメです。

まとめ : DOTweenに用意されているDOVirtualは便利

DOTweenに用意されている遅延実行が便利_6

記事の内容を簡単にまとめます。

こんな感じです。

スピードが求められる開発で、
演出のタイミング調整を複数 試したいときがあります。
クオリティを上げるためにはトライ回数が大事です。

そんなときにDOVirtualの出番。
スピーディに書けるのでトライ回数を稼げてオススメ です。


フォローすると UIデザイナー力の上がるTwitter やってます!
今日から使えるテクニックを発信中。
ぜひフォローしてみてください!
👉フォローはこちら!

最後まで読んでいただきありがとうございました!
すばらしいDOTweenライフをお過ごしください。

期間限定 最大95%オフセール
効率UPメガバンドル開催中!最大95%オフ!!!
期間 : 11月1日午後15時59分まで
オススメ記事
検証環境