【Unity】指定した時間が経過したときに処理を行う2つの方法【Invoke・Time.deltaTime】

5秒後にオブジェクトを破壊する

3秒後にオブジェクトを生成する

などの処理をUnityで行う。

  • Invoke
  • Time.deltaTime

ここでは「Invoke」と「Time.deltaTime」を使って、指定した時間が経過したときに処理を行うスクリプト例をお伝えする。

目次

【Unity】指定した時間が経過したときに処理を行う2つの方法【Invoke・Time.deltaTime】

現在の状況

指定した時間が経過したときに処理を行う2つの方法
  • Cubeにスクリプトがついている

Invoke

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TimeController : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        Invoke("Hoge", 3);
    }

    void Hoge()
    {
        Debug.Log("3秒後に実行された");
    }
}
Invoke("メソッド名",  ○秒);
○秒後にメソッドを実行

「Invoke」を利用することで指定した時間が経過したあとに、指定したメソッドを実行できる。

このスクリプトを実行すると3秒後にコンソールに「3秒後に実行された」と表示される。

Time.deltaTime

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TimeController : MonoBehaviour
{
    float seconds;

    void Update()
    {
        seconds += Time.deltaTime;
        if (seconds >= 2)
        {
            seconds = 0;
            Debug.Log("2秒後に実行された");
        }
    }
}
Time.deltaTime
最後のフレームからの経過時間

「Time.deltaTime」を使うことでも、○秒後に指定した処理を実行することが可能だ。

2秒感覚でコンソールに「2秒後に実行された」と表示される。

おわりに

「Invoke」と「Time.deltaTime」の詳細な使い方は他の記事にまとめる。

以上、指定した時間が経過したときに処理を行う2つの方法だ。

このようなチュートリアルを販売しているので、Unityでゲームを作成している人は購入していただきたい。

>>Unityでもっとゲーム開発する

Unityで指定した時間が経過したときに処理を行う2つの方法

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次