指定した複数のポイントから、順番にPrefabを生成するように、スクリプトを作成してみましょう。
3つの座標から、Sphereオブジェクトが1秒おきに順番に出現していきます。
関連記事:
1秒おきに座標をランダムにして落下
前方からボールがランダムで向かってくる
前後左右へ順番にボール発射
音ゲーのノーツみたいなオブジェクト動作
複数ポイントがランダムで選択される
Instantiateでオブジェクトの角度を変える
並べたPrefabを左から順に発射
複数の座標から順にオブジェクト出現
空のオブジェクトを作成し、名前をPosition1に変更。
座標を以下のように変更します。
Position1を複製して、Position2~3を作成。
それぞれの座標を以下のように変更します。
Sphereを作成し、リジッドボディを追加します。
Sphereをプロジェクトビューにドラッグ&ドロップし、プレハブ化します。
Sphereの元データを削除しておきます。
空のオブジェクトを作成。
BallScript.csを作成し、GameObjectに追加します。
BallScript.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class BallScript : MonoBehaviour { public Transform[] shotPos = new Transform[3]; private float time; public GameObject sphere; private int count; void Start() { time = 0; count = 0; } void Update() { time -= Time.deltaTime; if(time <= 0.0f) { Instantiate(sphere, shotPos[count].position, Quaternion.identity); time = 1.0f; count++; } if(count > 2) { count = 0; } } } |
サイズのフィールドが3になっていることを確認します。
要素0~2の中に、Positoion1~3を入れます。
Sphereのプレハブを、スフィアのフィールドに入れます。
ゲームプレイしてみましょう。
1秒おきに、3つのポジションから順番にボールが落ちてきます。
関連記事:
1秒おきに座標をランダムにして落下
前方からボールがランダムで向かってくる
前後左右へ順番にボール発射
音ゲーのノーツみたいなオブジェクト動作
複数ポイントがランダムで選択される
Instantiateでオブジェクトの角度を変える
並べたPrefabを左から順に発射