Prefabを1秒おきに出現させて、種類を切り替えられる仕組みを作ってみましょう。
1秒間隔で生成されて、それぞれ色違いの3つのPrefabが表示されます。
関連記事:
ボタンによってPrefabの種類を変える
発射するPrefabの種類を順番に変える
1秒後にPrefabを削除する
1秒おきにPrefabをランダム表示・非表示
ボタンを押すたびに順番にオブジェクトを切り替える
Prefabの準備
Sphereを3個作成します。
判別しやすいように色をつけて、横並びに配置します。
3個のSphereにそれぞれリジッドボディを追加します。
3個のSphereをプロジェクトビューにドラッグ&ドロップし、Prefab化します。
Sphereの元データはすべて消しておきます。
配列データを順番に切り替え
空のオブジェクトを作成します。
PrefabChange.csを作成し、GameObjectに追加します。
PrefabChange.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 PrefabChange : MonoBehaviour { public GameObject[] ballArray; void Start() { StartCoroutine("BallSet"); } IEnumerator BallSet() { for (int i=0; i<ballArray.Length; i++) { yield return new WaitForSeconds(1.0f); GameObject ball = GameObject.Instantiate (ballArray[i])as GameObject; } } } |
BallArrayの項目ができていますので、サイズのところに3を入力します。
要素0~2の中に、Sphereのプレハブを入れます。
プレイしてみましょう。
ballArray.Lengthは、要素0~2の配列の長さで、ここでは3になります。
スタート時にコルーチンを実行し、1秒待ちながら、Prefab生成を3回ループ。
iの数値に合わせて、配列の選択も変えています。
関連記事:
ボタンによってPrefabの種類を変える
発射するPrefabの種類を順番に変える
1秒後にPrefabを削除する
1秒おきにPrefabをランダム表示・非表示
ボタンを押すたびに順番にオブジェクトを切り替える