指定した複数の位置で、順番にPrefabを生成できるように、スクリプトを作りましょう。
あらかじめ決めたポイントの順に、1秒おきにオブジェクトが生成されます。
関連記事:
配列にある複数オブジェクトを一気に出す
配列の中のオブジェクトを選んで置く
ランダム表示したPrefabを順に配列に入れる
配列にあるオブジェクトを要素番号で呼び出す
配列のオブジェクトをn秒おきにすべて出現
3つのスポットライトをキー操作で点灯
同じサイズだけ位置をずらしてPrefab生成
Prefabを並べて一気に発射
並べたPrefabを左から順に発射
5箇所のポイントを配置
まずは5つの地点を作成しましょう。
空のオブジェクトを作成します。
名前をPointに変え、わかりやすいようにアイコンを設定。
少し上に配置しました。
Pointをあと4個複製しました。
それぞれ座標を変えて、このように配置しました。
複数ポイントから1秒おきにPrefab出現
Prefabデータを準備します。
Sphereを作り、リジッドボディを追加。
プロジェクトビューにドラッグ&ドロップして、プレハブ化します。
Sphereの元データは削除しておきます。
空のオブジェクトを作成します。
PutObject.csを作成し、GameObject(空のオブジェクト)に追加します。
PutObject.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class PutObject : MonoBehaviour { [SerializeField] GameObject[] myArray = new GameObject[5]; [SerializeField] GameObject prefab; void Start() { StartCoroutine("SetPrefab"); } IEnumerator SetPrefab() { foreach(GameObject point in myArray) { Instantiate(prefab, point.transform.position, Quaternion.identity); yield return new WaitForSeconds(1.0f); } } } |
MyArrayの要素0~4に、5つのPointを入れます。
プレハブのフィールドに、Sphereを入れます。
ゲームプレイしてみましょう。
5つの位置から1秒おきに、順にPrefabが生成されます。
配列に入れたPointオブジェクトを、foreachのループで取り出し。
取り出したPointの位置に、Prefabを生成しています。
関連記事:
配列にある複数オブジェクトを一気に出す
配列の中のオブジェクトを選んで置く
ランダム表示したPrefabを順に配列に入れる
配列にあるオブジェクトを要素番号で呼び出す
配列のオブジェクトをn秒おきにすべて出現
3つのスポットライトをキー操作で点灯
同じサイズだけ位置をずらしてPrefab生成
Prefabを並べて一気に発射
並べたPrefabを左から順に発射