我声明了我的Button[]是公共的,这样我就可以从我的检查器中引用它
但它没有出现在我的检查员身上。请帮忙!!!
我试着重新启动C#,并重新导入所有统一的东西。。。。
公用火箭;
public Button[] levelButtons;
void Start()
{
for(int i=1 ; i<levelButtons.Length ; i++)
{
// if(i + 1 > rocket.level)
levelButtons[i].SetEnabled(false);
}
}
Button实际上是GameObject包含组件按钮。在使用之前,你应该为你想要创建的数组初始化大小
//Your array
public GameObject[] levelButtons;
//Object to attach Button
public GameObject panelShow;
//Size for Array
public int sizeArrayButton = 5;
void Awake()
{
//Init size for Array
levelButtons = new GameObject[sizeArrayButton];
for (int i = 0; i < levelButtons.Length; i++)
{
//Create new Object and random for position of Gameobject
GameObject button = new GameObject();
button.transform.parent = panelShow.transform;
button.AddComponent<RectTransform>();
button.AddComponent<Button>();
button.transform.position = new Vector3(Random.Range(100, 50), Random.Range(100, 26), Random.Range(-25, 26));
button.AddComponent<Image>();
button.GetComponent<Button>().onClick.AddListener(() => { Debug.Log($"Button: +{i}+ was clicked"});
levelButtons[i] = button;
}
}
在Unity中,你也可以使用List和Preambs来制作它。
因此问题得到了解决。。。所以基本上我所做的只是更新我的unity版本,然后它允许我使用UnityEngine.UI,这个问题现在已经解决了。。。
感谢大家抽出时间。。。极度震惊的