「prefabのbuttonをCanvasに追加する」の編集履歴(バックアップ)一覧に戻る
GameObject canvas; void Start () { canvas = GameObject.Find("Canvas"); Button bt=Resources.Load<Button>("Button"); Button bt1 = Instantiate( bt ); bt1.onClick.AddListener( ()=> onButtonClick(1) ); bt1.transform.SetParent( canvas.transform,false ); } void onButtonClick(int no) { if(no==1) Debug.Log("click!"); }
GameObject canvas; void Start () { canvas = GameObject.Find("Canvas"); Button bt=Resources.Load<Button>("Button"); Button[] btt=new Button[10]; for(int i=0;i<=4;i++) { btt[i] = makeButton(bt,"Ans"+i.ToString(),0f,50f*i); btt[i].onClick.AddListener( ()=> onButtonClick(i) ); } } Button makeButton(Button bt,string s,float x,float y) { Button bt1 = Instantiate( bt ); bt1.transform.SetParent( canvas.transform,false ); RectTransform _rt = bt1.GetComponent<RectTransform>(); Vector2 pos = _rt.anchoredPosition; pos.y = Screen.height * 0.5f - _rt.rect.height * 0.5f - y; pos.x = x; _rt.anchoredPosition = pos; foreach (Transform child in bt1.transform){ if(child.name == "Text"){ Text target = child.gameObject.GetComponent<Text>(); target.text = s; } } return bt1; } void onButtonClick(int no) { if(no==1) Debug.Log("click!"); }