Kanade Labo

かなで研究所

{unity:script/memo}Prefabから作成したボタンに番号を付ける

{unity:script/memo}PrefabをスクリプトでCanvas上に複製する

↑こちらの派生バージョン(先にこっちを見るべし?)

Unity初心者の かなで がネットで調べて、実践できた知識の覚書。
基本的に自分用備忘録の為、説明不備はご了承くださいm(_ _)m

 

黒字:デフォルト
赤字:今回追加
青字:自己解釈(一般解釈とはかけ離れてる事に注意!)

目標:Prefabから作成したボタンに番号を付ける

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class sample : MonoBehaviour {
     public GameObject ButtonPrefab; //ボタンプレハブを定義
	// Use this for initialization
	void Start () {
		GameObject canvas = GameObject.Find("Canvas"); //Canvasを探して、canvasとして定義
		for (int i = 0; i < 6; i++) {
			var instance = Instantiate (ButtonPrefab); //ボタンプレハブをインスタンス(複数)する?
			instance.transform.SetParent (canvas.transform,false); //複製したボタンをcanvasに格納
			instance.transform.GetComponent<buttom_click>().buttonNo = i;
              //ボタンプレハブから複製したボタンにあるbuttom_clickというスクリプトのbuttonNoというintをiに書き換える
		}
	}
	
	// Update is called once per frame
	void Update () {
		
	}
}

 

ボタンプレハブに以下スクリプトを追加

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class buttom_click : MonoBehaviour {
	public int buttonNo;
	// Use this for initialization
	void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {
		
	}
}

-unity