生成したPrefabが、1秒後に消えるしくみを作ってみましょう。
クリックでSphereを出現させますが、それぞれ1秒後に消滅します。
関連記事:
【Unity C#】1秒おきにPrefabを変える
【Unity C#】発射したPrefabを削除する
【Unity C#】1秒おきにPrefabをランダム表示・非表示
【Unity C#】制限時間になればPrefabを全削除
【Unity C#】触れた相手をn秒後に削除する
【Unity C#】乗ったオブジェクトをn秒後に消す
〇秒後にPrefabを消すスクリプト
Sphereを作成します。
DeleteTime.csを作成し、Sphereに追加します。
DeleteTime.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class DeleteTime : MonoBehaviour { public float deleteTime; void Start() { Destroy(gameObject, deleteTime); } } |
DeleteTimeというフィールドが出来ますので、ここに、出現してから消えるまでの秒数を入れます。
ここでは1を入力しました。
プロジェクトビューにドラッグ&ドロップして、Prefab化します。
Sphereの元データは削除しておきます。
Prefabを出現させる
続いて、Prefabを出現させるしくみを作りましょう。
空のオブジェクトを作成します。
ClickSphere.csを作成し、GameObject(空のオブジェクト)に追加しましょう。
ClickSphere.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ClickSphere : MonoBehaviour { public GameObject prefab; private Vector3 mousePosition; void Update() { if (Input.GetMouseButtonDown(0)) { mousePosition = Input.mousePosition; mousePosition.z = 10.0f; Instantiate(prefab, Camera.main.ScreenToWorldPoint(mousePosition),Quaternion.identity); } } } |
プレハブのフィールドが出来るので、ここにSphereを入れます。
プレイして、画面をクリックしてみましょう。
Sphereが出現し、1秒経てば消滅します。
関連記事:
【Unity C#】1秒おきにPrefabを変える
【Unity C#】発射したPrefabを削除する
【Unity C#】1秒おきにPrefabをランダム表示・非表示
【Unity C#】制限時間になればPrefabを全削除
【Unity C#】触れた相手をn秒後に削除する
【Unity C#】乗ったオブジェクトをn秒後に消す