決まった個数だけ、n秒おきにPrefabを生成できる仕組みを作成してみましょう。
今回の例では、クリックすると0.5秒おきに、Sphereオブジェクトを5個出現してみます。
決まった回数だけn秒おきに出現
Sphereを作成して、リジッドボディを追加。
プロジェクトビューにドラッグ&ドロップして、プレハブ化します。
Sphereの元データは削除しておきます。
空のオブジェクトを作成します。
SphereClone.csを作成し、空のオブジェクト(GameObject)に追加します。
SphereClone.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class SphereClone : MonoBehaviour { [SerializeField] GameObject ball; void Update() { if(Input.GetMouseButtonDown(0)) { StartCoroutine("BallSpawn"); } } IEnumerator BallSpawn() { for (int i=0; i<5; i++) { yield return new WaitForSeconds(0.5f); Instantiate(ball,new Vector3(0, 0, 0),Quaternion.identity); } } } |
Ballのフィールドに、Sphereを入れます。
ゲームプレイして、画面をクリックしてみましょう。
0.5秒おきに、Sphereが5個だけ生成されます。