在统一C#脚本中从预制创建按钮

时间:2018-09-05 04:42:02

标签: c# unity3d

我正在运行一个foreach循环,添加一个debug.log,但是与其相反,我希望它从游戏其余部分的预制件中创建一个按钮,并根据以下内容更改按钮的文本数组中的内容。

我当前的脚本:

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

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

谢谢, 伊桑!

1 个答案:

答案 0 :(得分: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;
}

希望对您有帮助。