キューバに行ってみたい

ゲーム開発とかWeb開発とか

[Unity] script を使って n秒後にオブジェクトを削除する

球が壁に衝突して n秒後にその球を消したかったので、実装例について書きます。

実装方法

球の準備として Sprite Renderer で Circle を描画した GameObject を用意し、Rigidbody 2D, Circle Collider 2D の component を attach します。

次に衝突させる壁を用意します。
Sprite Renderer で Square を描画し、Box Collider 2D をアタッチして当たり判定できるようにします。

そして、以下の script を準備して Circle オブジェクトにアタッチします。

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

public class Collision : MonoBehaviour
{
    public void OnCollisionEnter2D(Collision2D collision)
    {
        Destroy(gameObject, 3.0f);
    }
}

ポイントとなるのが、Destroy() メソッドの第二引数です。
第二引数は対象のオブジェクトが削除されるまでの遅延時間を指定できます。 今回は 3.0f なので、衝突から3秒後にオブジェクトが削除されることになります。

docs.unity3d.com

以上になります。