出現した順番で、プレハブに番号をつけられる仕組みをつくってみましょう。
クリックでSphereを生成し、出てきた順で番号が付与されます。
Prefabに連番をつける
空のオブジェクトを作成します。
SpawnScript.csを作成し、GameObject(空のオブジェクト)に追加します。
SpawnScript.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 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class SpawnScript : MonoBehaviour { public GameObject prefab; private Vector3 mousePosition; public static SpawnScript instance; public int count; public void Awake() { if(instance == null) { instance = this; } } void Update() { if (Input.GetMouseButtonDown(0)) { count++; mousePosition = Input.mousePosition; mousePosition.z = 10.0f; Instantiate(prefab, Camera.main.ScreenToWorldPoint(mousePosition),Quaternion.identity); } } } |
Sphereを作成します。
NumberSet.csを作成し、Sphereに追加します。
NumberSet.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class NumberSet : MonoBehaviour { public int number; void Start() { number = SpawnScript.instance.count; } } |
Sphereをプロジェクトビューにドラッグ&ドロップして、プレハブ化します。
Sphereの元データは消しておきます。
プレハブのフィールドに、Sphereを入れます。
ゲームプレイしましょう。
画面をクリックすれば、プレハブが生成され、それぞれ連番がついています。