C# 以编程方式添加按钮#
我正在尝试使用现有的预置在C#代码中创建按钮。我在网站上找到的只是C# 以编程方式添加按钮#,c#,unityscript,C#,Unityscript,我正在尝试使用现有的预置在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(Par
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>();
}
}
公共游戏对象a;
公共事务委员会;
void Start()
{
对于(int i=0;i<5;i++)
{
GameObject goButton=(GameObject)实例化(a);/error
goButton.transform.SetParent(ParentPanel,false);
goButton.transform.localScale=新向量3(1,1,1);
Button tempButton=goButton.GetComponent();
}
}
在Unity项目中,我有一个名为“ButtonPrefab”的预置,我把Button对象放在这里。下一行中有一个错误
UnassignedReferenceException:尚未分配NewBehaviourScript的变量a。
您可能需要在检查器中为NewBehaviourScript脚本分配一个变量
我不熟悉团结。为什么未分配的var a可以使用Instantiate()给我按钮?为什么会出现这个错误?您可以很容易地从资源文件夹中实例化预置。在项目的“资产”文件夹中创建一个名为“资源”的新文件夹。必须将其命名为Resources才能正常工作。然后,您可以按如下方式制作按钮:
GameObject button = Instantiate(Resources.Load("myButton", typeof(GameObject))) as GameObject;
假设您的预置名为“myButton”。如果只是为了调试,您可能可以不受影响。您是否从编辑器中拖放游戏对象a?您好,在这个循环之后,我有3个新游戏对象?对于(inti=0;i<3;i++){var button=实例化(Resources.Load(“myButton”,typeof(GameObject)))为GameObject;这是一个问题吗?如果实例化按钮三次,将得到三个新对象,对吗。