指定した数だけPrefabが出現するように、プログラムを作ってみましょう。

Cubeが5個出現すれば、生成を止める仕組みです。
関連記事:
5秒経過すればInstantiateを止める
制限時間になれば停止する
制限時間になればPrefab生成を止める
Prefabデータの準備
まずは、Cubeオブジェクトを作成して、動かしましょう。
オブジェクトを用意してカラーをつけています。

CubeMove.csを作成して、Cubeに追加しましょう。

CubeMove.csを記述します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMove : MonoBehaviour { [SerializeField] float speed = 5; void Update() { transform.position += new Vector3(Time.deltaTime * speed, 0, 0); if(transform.position.x >= 10) { Destroy(gameObject); } } } |
ゲームプレイしてみましょう。

Xが10に到達すると消える仕組みです。
続いて、CubeオブジェクトをPrefab化しましょう。

Cubeの元データは削除します。

Prefabが5個出現するまで繰り返す
Prefabデータは用意できたので、これをクローンとして生成できるようにプログラムを作成します。
まずは、空のオブジェクトを作成しましょう。

GameObjectの名前で空のオブジェクトができています。

GameManager.csを作成して、GameObjectに追加します。

GameManager.csを記述しましょう。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class GameManager : MonoBehaviour { [SerializeField] GameObject cube; void Start() { StartCoroutine("CubeCount"); } IEnumerator CubeCount() { for (int count=0; count<5; count++) { yield return new WaitForSeconds(0.5f); Instantiate(cube,new Vector3(-5, 0, 0),Quaternion.identity); } } } |
コルーチンを使い、0.5秒おきに生成する仕組みをつけています。
プレイしてみましょう。

Instantiateのたびに生成数をカウント。
for文によって、指定した数だけPrefabを出現させています。
関連記事:
5秒経過すればInstantiateを止める
制限時間になれば停止する
制限時間になればPrefab生成を止める