Unityでプレイヤーがプレイ人数を設定できて、設定した人数分の名前入力フォームができる設定にしたいんですが、どういう仕組みにすればいいのかよくわかりません。
空のゲームオブジェクトにDirectorスクリプトをアタッチして人数の数字は表示できるようになりました。
次に、表示された数分のInputFieldオブジェクトが作られるようにしたいんですが、良くわからないのでとりあえずこんな感じに書きました。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Director : MonoBehaviour{ public Text people; private int count; public GameObject InputField; //public GameObject InputFieldCopy; public Transform Canvas; void Start() { count = 2; UpdateLabel(); } // Update is called once per frame public void Click1() { if (count < 30) { count++; Vector2 CreatePoint = new Vector2(0, 1); Instantiate(InputField, CreatePoint, Quaternion.identity, Canvas); } UpdateLabel(); } public void Click2() { if (count > 2) { count--; } UpdateLabel(); } void UpdateLabel() { people.text = count + "人"; } }
しかしこれだと入力フォームの数がcountと連動しないし、できたインスタンスの位置も指定できてませんでした。
そもそもCanvasのなかにあるものをInstantiateで複製するのも挙動がおかしくならないか?という疑問もあってどうすればいいのか分からない感じです。
どうすればプレイヤーは入力フォームの数を指定できるようになるでしょうか?
あなたの回答
tips
プレビュー