在Unity C#脚本中从预制件创建按钮

问题描述 投票:0回答:1

我正在运行一个foreach循环,添加了一个debug.log,但是我希望它创建一个按钮,从我从游戏的其余部分开始预制,并根据它所说的更改按钮的文本在数组中。

我目前的剧本:

string webResults = www.text;
char seprator = '\t';
string[] myStringArray = webResults.Split(seprator);

foreach(string i in myStringArray)
{
    Debug.Log(i);
}

谢谢,Ethan!

c# unity3d
1个回答
0
投票

首先,创建一个Canvas。您的按钮必须创建为其中的子项。

现在,在您的代码中:

using UnityEngine.UI;

....

public Canvas canvas
public Button btnPrefab;

....

string webResults = www.text;
char seprator = '\t';
string[] myStringArray = webResults.Split(seprator);

foreach(string i in myStringArray)
{
    Button newBtn = Instantiate(btnPrefab, canvas.transform, false);
    newBtn.GetComponent<RectTransform>().anchoredPosition = // position you want...
    newBtn.GetComponentInChildren<Text>().text = i;
}

我希望它对你有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.