繁体   English   中英

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

[英]Add buttons programmatically Unity C#

我正在尝试使用现有的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项目中,我放置了名为“ ButtonPrefab”的Prefab,并在其中放置了Button Object。 下一行有错误

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

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

您可以从Resources文件夹中非常容易地实例化预制件。 在项目的Assets文件夹中新建一个名为Resources的文件夹。 它必须命名为Resources才能正常工作。 然后,您可以像这样制作按钮:

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

假设您的预制名为“ myButton”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM