配列のオブジェクトを、入っている順でn秒おきに出現できるように、スクリプトをつくってみましょう。
今回は、4つのオブジェクトが1秒おきに出てくるようにします。
foreach文を使い、配列のサイズだけ繰り返して、すべてのオブジェクトを生成します。
関連記事:
Updateの中でn秒おきにずっと実行する
Updateを使わずにn秒おきにずっと実行する
キー長押しでn秒おきに発射
1秒おきに座標をランダムにして落下
種類の違うオブジェクトを順番に生成する
配列にある複数オブジェクトを一気に出す
複数地点から順番にPrefabを生成
foreachを使ってn秒おきにループ
種類の違う4つのオブジェクトを作成し、それぞれリジッドボディを追加します。
4つのオブジェクトをプロジェクトビューにドラッグ&ドロップして、プレハブ化します。
元データは削除しておきます。
空のオブジェクトを作成します。
ArrayObject.csを作成し、GameObjectに追加します。
ArrayObject.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 ArrayObject : MonoBehaviour { public GameObject[] myArray = new GameObject[4]; void Start() { StartCoroutine("DropObject"); } IEnumerator DropObject() { foreach(GameObject obj in myArray) { Instantiate(obj,transform.position,Quaternion.identity); yield return new WaitForSeconds(1.0f); } } } |
MyArrayの要素0~3に、4つのオブジェクトを入れます。
ゲームプレイしてみましょう。
要素0~3に入ってる順番で、すべてのオブジェクトが1秒おきに出現します。
関連記事:
Updateの中でn秒おきにずっと実行する
Updateを使わずにn秒おきにずっと実行する
キー長押しでn秒おきに発射
1秒おきに座標をランダムにして落下
種類の違うオブジェクトを順番に生成する
配列にある複数オブジェクトを一気に出す
複数地点から順番にPrefabを生成