【发布时间】:2016-03-07 17:14:34
【问题描述】:
我正在尝试使用现有的 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”的预制件,我在其中放置了按钮对象。下面一行有错误
UnassignedReferenceException: NewBehaviourScript 的变量 a 没有被赋值。 您可能需要在检查器中分配 NewBehaviourScript 脚本的变量。
我是 Unity 的新手。为什么没有分配 var a 可以使用 Instantiate() 给我按钮?为什么会出现这个错误?
【问题讨论】:
-
如果它只是为了调试,你可能可以摆脱这个docs.unity3d.com/ScriptReference/GUI.Button.html
-
你会从编辑器中拖放 GameObject a 吗?