以编程方式添加按钮Unity C#

时间:2016-03-07 17:14:35

标签: c# unityscript

我正在尝试使用现有的Prefab在C#代码中创建按钮。我在网站上找到的就像是

public GameObject a;
public RectTransform ParentPanel;
void Start()
{
    for (int i = 0; i < 5; i++)
    {
        GameObject goButton = (GameObject)Instantiate(a); /error
        goButton.transform.SetParent(ParentPanel, false);
        goButton.transform.localScale = new Vector3(1, 1, 1);
            Button tempButton = goButton.GetComponent<Button>();
    }
}

在Unity项目中,我预制了一个名为&#34; ButtonPrefab&#34;我把Button对象放在哪里。下面的行

有错误
  

UnassignedReferenceException:尚未分配NewBehaviourScript的变量a。   您可能需要在检查器中分配NewBehaviourScript脚本的变量。

我是Unity新手。怎么没有分配var a可以使用Instantiate()给我按钮?为什么我有这个错误?

1 个答案:

答案 0 :(得分:0)

您可以从Resources文件夹中轻松实例化预制件。在项目的Assets文件夹中创建一个名为Resources的新文件夹。必须将其命名为Resources才能正常工作。然后你可以按下这样的按钮:

GameObject button = Instantiate(Resources.Load("myButton", typeof(GameObject))) as GameObject;

假设您的预制件名为&#34; myButton。&#34;