本日は UniTask の小ネタ枠です。
UniTaskのDelayを使って指定時間待機させるについてです。
UniTask
UniTaskの環境構築手順は以下の記事を参照ください。
bluebirdofoz.hatenablog.com
UniTask.Delay
UniTask.Delay 関数を利用すると指定の時間、処理を待機することができます。
また、TimeSpan クラスを利用してミリ秒、秒、分、時間、日数などを引数に指定できます。
以下のサンプルスクリプトを作成しました。
・DelayTest.cs
using System; using Cysharp.Threading.Tasks; using UnityEngine; public class DelayTest : MonoBehaviour { async void Start() { Debug.Log($"再生からの経過時間:{Time.time:0.00}秒"); // 1秒待機 await UniTask.Delay(TimeSpan.FromSeconds(1)); Debug.Log($"再生からの経過時間:{Time.time:0.00}秒"); // 500ミリ秒待機 await UniTask.Delay(TimeSpan.FromMilliseconds(500)); Debug.Log($"再生からの経過時間:{Time.time:0.00}秒"); } }
動作確認
サンプルスクリプトを設定したシーンを再生して動作を確認します。
以下の通り、指定した秒数の待機が簡単に実装できました。