for文を使って、ボールを3個出現させる仕組みをつくってみましょう。
1秒おきにプレハブを生成し、全部で3つ出るようにforでループさせていきます。
関連記事:
0.1秒おきにゆっくり拡大
クローンを等間隔に生成
生成したプレハブの名前に連番をつける
一度に複数のオブジェクトを発射
for文を使った繰り返し処理
Sphereのプレハブを用意して、リジッドボディを追加しています。
空のオブジェクトを作成します。
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 ball; void Start() { StartCoroutine("BallSet"); } IEnumerator BallSet() { for (int i=0; i<3; i++) { yield return new WaitForSeconds(1.0f); Instantiate(ball,new Vector3(0, 0, 0),Quaternion.identity); } } } |
Ballのフィールドに、Sphereプレハブを入れます。
ゲームプレイして動きを確認します。
C#でのfor文の書き方ルールは以下のとおりです。
for(初期値; 条件式; 反復子)
{
処理内容
}
条件式は「この条件に当てはまっている間は繰り返す」という意味になります。
今回の例でいえば、条件式は3未満。変数iは0~2まで、合計3回繰り返します。
関連記事:
0.1秒おきにゆっくり拡大
クローンを等間隔に生成
生成したプレハブの名前に連番をつける
一度に複数のオブジェクトを発射