前提・実現したいこと
プレハブを複数作成し、番号を一つづつつけていきたいです
該当のソースコード
A+++++データベース
private GameObject Obj; private MapDataBase MapDataBase; public int i; // Use this for initialization void Start() { for (int i = 0; i < MapDataBase.GetMapLists().Count; i++) { GameObject obj = Instantiate(Obj, transform);//オブジェクト作成 Debug.Log($"{name}"+"ボタン作成"); } }
}
B+++++プレハブ
void Start() { mapd = GameObject.Find("Content1"); //Aのスプリクト script2 = mapd.GetComponent<MapManager>(); // i = script2.i;//MapMから番号よみとり Image.sprite = MapDataBase.GetMapLists()[i].Geticon();//画像変更 Debug.Log($"{i}が押されました"); }
試したこと
++++++A
void Start()
{
Obj = GameObject.Find("akiti");
for (int i = 0; i < MapDataBase.GetMapLists().Count; i++)// リストの数の分だけ繰り返す処理 { GameObject obj = Instantiate(Obj, transform) as GameObject;//オブジェクト作 //【更新】Cardプレハブの子オブジェクトを名前で見つけ、そのTextコンポーネントに値をセットする mapbc hoge = obj.GetComponent<mapbc>(); hoge.i = i; Obj.GetComponent<mapbc>().jikou();☆ Debug.Log($"{i}"+"ボタン作成"); } }
++++++++B
public void jikou() { unitychan = GameObject.Find("kazukazu"); //Unityちゃんをオブジェクトの名前から取得して変数に格納する script = unitychan.GetComponent<kazu>(); //unitychanの中にあるUnityChanScriptを取得して変数に格納する //画像変更 this.icon = MapDataBase.GetMapLists()[i].icon; this.Name = MapDataBase.GetMapLists()[i].Name; Debug.Log($"{i}" + "ボタン作成1"+ Name); }
AとBが逆だったかもしれないので、逆にして変数を読み取れるようになりました。
☆部分でオブジェクトを実行して、画像変更するようにしてみたのですがうまくいってないです
補足情報(FW/ツールのバージョンなど)
win10
Unity 最新
お忙しいことと存じますが、お暇な時でご教授頂ければ幸いです
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。