Prefabのサイズと同じ距離をずらしながら、生成をくり返せるように、スクリプトを作りましょう。
今回の例では、Sphereのサイズ分だけ横にずらして、プレハブ生成を行います。
関連記事:
1秒経てば0.5秒おきに実行する
複数ポイントからランダムでPrefab生成
複数地点から順番にPrefabを生成
Prefabのサイズ分だけ移動
Sphereを作成。
プロジェクトビューにドラッグ&ドロップし、Prefab化します。
Sphereの元データは削除しておきます。
空のオブジェクトを作成します。
BallSpawn.csを作成し、GameObject(空のオブジェクト)に追加します。
BallSpawn.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 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class BallSpawn : MonoBehaviour { public GameObject ball; float size; Vector3 lastPos; void Start() { lastPos = ball.transform.position; size = ball.transform.localScale.x; InvokeRepeating("SpawnStart", 1.0f, 0.5f); } void SpawnStart() { Vector3 pos = lastPos; pos.x += size; Instantiate(ball, pos, Quaternion.identity); lastPos = pos; } } |
Ballのフィールドに、Sphereを入れましょう。
ゲームプレイして、動きを確認しましょう。
1秒経過してから、0.5秒おきにSphereを生成。
生成されたオブジェクトは、そのサイズ分だけ横移動していきます。
関連記事:
1秒経てば0.5秒おきに実行する
複数ポイントからランダムでPrefab生成
複数地点から順番にPrefabを生成