[英]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.