如何解决UI按钮参考在检查器中不可见
我将我的Button []声明为公开,因此我可以从检查器中引用它
,但是它没有出现在我的检查器中。请帮忙!!!
我尝试重新启动C#并统一导入所有内容...。
公共火箭火箭;
public Button[] levelButtons;
void Start()
{
for(int i=1 ; i<levelButtons.Length ; i++)
{
// if(i + 1 > rocket.level)
levelButtons[i].SetEnabled(false);
}
}
解决方法
按钮实际上是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和Prefabs来实现。
,因此问题得以解决...所以基本上我所做的只是更新我的统一版本,然后它使我可以使用UnityEngine.UI,现在问题已得到解决...
感谢大家的宝贵时间……感激不尽
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。